• Tidak ada hasil yang ditemukan

Prosedur Dan Fungsi Di Turbo Pascal

N/A
N/A
Protected

Academic year: 2021

Membagikan "Prosedur Dan Fungsi Di Turbo Pascal"

Copied!
19
0
0

Teks penuh

(1)

Prosedur dan Fungsi di Turbo Pascal

Prosedur dan Fungsi di Turbo Pascal

A.

A. KonseKonsep pep pemrogmrograman raman prosprosedureduralal

Ketika program yang dibuat sudah terlalu panjang ratusan bahkan puluhan ribu Ketika program yang dibuat sudah terlalu panjang ratusan bahkan puluhan ribu bar

baris, is, sesehinhingga gga kitkita a menmengalgalamami i keskesuliulitan tan untuntuk uk memmemahaahami mi jaljalannannya ya proprogragram m secsecaraara keseluruhan, maka ada baiknya bila program tersebut dipecah menjadi beberapa bagian keseluruhan, maka ada baiknya bila program tersebut dipecah menjadi beberapa bagian yan

yang g biabiasansanya ya disdisebebut ut modmodul, ul, susubprbprogrogram am ataatau u subsubrutrutin. in. KonKonsesep p semsemacaacam m ini ini biabiasasa disebut dengan pemrograman prosedural. Dalam tulisan ini selanjutnya akan digunakan disebut dengan pemrograman prosedural. Dalam tulisan ini selanjutnya akan digunakan k

kaattaa modulmodul susupaypaya a leblebih ih rinringkagkas. s. TurTurbo bo PasPascal cal yanyang g digdigunaunakan kan padpada a perpercocobaabaan n iniini adalah versi 7.1, bila anda menggunakan Turbo Pascal 7.0 maka prosesnya tidak jauh adalah versi 7.1, bila anda menggunakan Turbo Pascal 7.0 maka prosesnya tidak jauh berbeda.

berbeda. em

emecaecah h proprogragram m menmenjadjadi i modmodul!mul!moduodul l tententuntunya ya akaakan n leblebih ih mememudmudahkahkanan dalam

dalam mencmencari ari kesakesalahalahan, n, mempememperbaikrbaiki i serta serta membmembuat uat dokudokumentamentasinyasinya. . PembuPembuatanatan modul

modul di Turbo Pascadi Turbo Pascal dibagi dua jenis l dibagi dua jenis yaitu " Prosedur dayaitu " Prosedur dan #ungsi. Prosedun #ungsi. Prosedur atau #ungsir atau #ungsi adalah suatu modul program yang terpisah dari program utama, diletakan dalam blok adalah suatu modul program yang terpisah dari program utama, diletakan dalam blok tersendiri yang ber$ungsi sebagai bagian dari program. %etiap prosedur dia&ali dengan tersendiri yang ber$ungsi sebagai bagian dari program. %etiap prosedur dia&ali dengan ka

kata ta cacadadangnganan (rese(reserver rver word)word) ProcedureProcedure, seda, sedangkngkan an #un#ungsi digsi dia&aa&ali denli dengan kagan katata cadangan

cadangan Function.Function.

Prosedur atau #ungsi banyak digunakan pada program terstruktur, karena " Prosedur atau #ungsi banyak digunakan pada program terstruktur, karena " 1.

1. eruperupakan peakan penerapnerapan konsean konsep modulap modular, yaitu memr, yaitu memecah progecah program menjaram menjadi moduldi modul!modu!modull atau subprogram!subprogam yang lebih

atau subprogram!subprogam yang lebih sederhana.sederhana. '.

'. (ntuk ha(ntuk hal!hal yal!hal yang sering ding sering dilakuklakukan berulan berulang!uang!ulang, culang, cukup ditulkup dituliskan seiskan sekali saja dkali saja dalamalam prosedur dan dapat dipanggil atau

prosedur dan dapat dipanggil atau dipergunakan se&aktu!&aktu bila diperlukan.dipergunakan se&aktu!&aktu bila diperlukan.

B.

B. PenPenuliulisan san ProProsedsedurur (Procedure)(Procedure) Prose

Prosedur memiliki struktur yang dur memiliki struktur yang sama dengan struktusama dengan struktur r progrprogram, yaitu am, yaitu terdirterdiri i daridari nama prosedur, deklarasi!deklarasi dan bagian deskripsi )

nama prosedur, deklarasi!deklarasi dan bagian deskripsi )statement statement   atau aksi di dalam  atau aksi di dalam pr

prososededurur*. *. %e%emumua a dedeklklararasasi i di di dadalalam m prprososededur ur bebersrsi$ai$at t lolokakal l sesehihingngga ga hahanynya a bibisasa digunakan oleh prosedur itu saja, sedangkan deklarasi di dalam program utama bersi$at digunakan oleh prosedur itu saja, sedangkan deklarasi di dalam program utama bersi$at global sehingga dapat dikenali di seluruh bagian program. %truktur umum prosedur adalah global sehingga dapat dikenali di seluruh bagian program. %truktur umum prosedur adalah sebagai berikut "

(2)

+ambar 1. ara Penulisan Prosedur di

+ambar 1. ara Penulisan Prosedur di dalam Turbo Pascaldalam Turbo Pascal %truktur blok program

%truktur blok program utama beserta putama beserta prosedur, adalah rosedur, adalah sebagai berikut sebagai berikut ""

+ambar '. %truktur blok program beserta

+ambar '. %truktur blok program beserta prosedur tanpa parameter prosedur tanpa parameter 

C.

C. BagaiBagaimana mana jika jika tanpa tanpa prosprosedur edur ??  -pakah

 -pakah dalam dalam suatu suatu program program harus harus selalu selalu terdapat terdapat prosedur prosedur /a&abannya/a&abannya adalah tidak. ila kita membuat program yang sangat sederhana, misalnya program untuk adalah tidak. ila kita membuat program yang sangat sederhana, misalnya program untuk menampilkan kata

menampilkan kata “hallo world” “hallo world”  di layar, maka boleh saja tidak menggunakan prosedur. di layar, maka boleh saja tidak menggunakan prosedur. (ntuk lebih jelasnya berikut disajikan contoh program untuk menghitung luas dan keliling (ntuk lebih jelasnya berikut disajikan contoh program untuk menghitung luas dan keliling persegipanjang yang

persegipanjang yang menggunakan prosedur menggunakan prosedur  dan dan tanpa prosedur tanpa prosedur ..

' ' Procedure

Procedure Nama_Prosedur Nama_Prosedur (param_formal1:tipe_param1, param_formal2:tipe_param2,…); (param_formal1:tipe_param1, param_formal2:tipe_param2,…); {Jika prosedur tidak memiliki parameter, tanda kurung tidak disertakan}

{Jika prosedur tidak memiliki parameter, tanda kurung tidak disertakan}

var var

{bagian deklarasi prosedur, sifatnya lokal} {bagian deklarasi prosedur, sifatnya lokal}

 begin  begin statement1; statement1; statement2; statement2; ………… ………… !tatementn; !tatementn; end; end; Program judul_program; Program judul_program; var var

{bagian deklarasi prosedur, sifatnya global} {bagian deklarasi prosedur, sifatnya global}

Procedure

Procedure Nama_Prosedur Nama_Prosedur;;

{Jika prosedur tidak memiliki parameter, tanda kurung tidak disertakan} {Jika prosedur tidak memiliki parameter, tanda kurung tidak disertakan}

var var

{bagian deklarasi prosedur, sifatnya lokal} {bagian deklarasi prosedur, sifatnya lokal}

 begin  begin statement1; statement1; statement2; statement2; ………… ………… !tatementn; !tatementn; end; end; {program utama} {program utama}  begin  begin  Nama_Prosedur;  Nama_Prosedur; end. end.

(3)

+ambar .

+ambar . Program Program PersegipanjanPersegipanjangg tanpa prosedur  tanpa prosedur  +ambar . Program

+ambar . Program PersegiPanjang tanpa menggunakaPersegiPanjang tanpa menggunakan prosedur n prosedur 

ila dituliskan di 2ditor Turbo Pascal kira!kira tampilannya seperti diba&ah ini. ila dituliskan di 2ditor Turbo Pascal kira!kira tampilannya seperti diba&ah ini. (ntuk melihat hasilnya silahkan tekan trl 3

(ntuk melihat hasilnya silahkan tekan trl 3 #4.#4.

+ambar 5. Tampilan di 2ditor

+ambar 5. Tampilan di 2ditor Turbo Pascal,Turbo Pascal, Program PersegipanjangProgram Persegipanjang tanpa prosedur tanpa prosedur 

%et

%etelaelah h didirurunnnniningg )t)trl rl 3 3 #4*#4*, , makmaka a hashasilnyilnya a sepseperterti i dibdiba&aa&ah h iniini, , kemkemudiudianan cobalah untuk menginputkan data , misal " 5 untuk panjang dan 6 untuk lebar maka cobalah untuk menginputkan data , misal " 5 untuk panjang dan 6 untuk lebar maka hasilnya

hasilnya adalah, adalah, uas uas 8 8 '5 '5 dan dan Keliling Keliling 8 8 '0.'0. Program PersegiPanjang

Program PersegiPanjang ; ; {Judul {Judul "rogram "rogram #tama}#tama} uses

uses $rt; $rt; var

var {deklarasi {deklarasi %ariabel %ariabel global}global} p,l:byte;

p,l:byte; {p {p :pan&ang, :pan&ang, l:lebar}l:lebar} ls,kel:intege

ls,kel:integer; r; {ls:luas, {ls:luas, kel:keliling}kel:keliling}  begin

 begin   $lrs$r;   $lrs$r;

'riteln("rog

'riteln("rogram ram #ntuk #ntuk eng*itung eng*itung luas luas dan dan keliling keliling persegipan&anpersegipan&ang);g);   'riteln;

  'riteln;

'rite(asuka

'rite(asukan n pan&ang pan&ang : : );readln(p););readln(p); 'rite(asuka

'rite(asukan n lebar lebar : : );readln(l););readln(l);   'riteln;

  'riteln; ls:+pl;

ls:+pl; {luas+pan&an{luas+pan&ang g - - lebar}lebar} .

.eell::++((22pp))//((22ll));; {{kkeelliilliinngg++((2 2 - - ppaann&&aanngg) ) / / ((2 2 - - lleebbaarr))}} 'riteln(0

'riteln(0uas uas : : ,ls);,ls); 'riteln(.

'riteln(.eliling eliling : : ,kel);,kel);   readln;

  readln; end.

(4)

+ambar 9. Tampilan setelah di

+ambar 9. Tampilan setelah dirunning running 

%ilahkan anda bisa mencoba dengan menginputkan angka yang berbeda, yang %ilahkan anda bisa mencoba dengan menginputkan angka yang berbeda, yang penting tidak melebihi '99, karena type data byte yang digunakan oleh variabel

penting tidak melebihi '99, karena type data byte yang digunakan oleh variabel p p dandan ll seper

seperti ti pada contoh pada contoh progrprogramam diadiatas tas hanhanya ya mamampu mpu menmenampampung ung datdata a beberuprupa a angangkaka sampai dengan '99, sedangkan variabel

sampai dengan '99, sedangkan variabel luasluas :: kelilingkeliling hanya mampu menampung hanya mampu menampung ang

angka ka !'!'76; 76; s<d s<d '7'767 67 karkarenena a menmengguggunaknakan an tiptipe e datdata a intintegeger. er. enengapgapa a dedemikmikianian,, bagaimana cara mengetahui jangkauan suatu tipe data, (ntuk mengetahui jangkauan bagaimana cara mengetahui jangkauan suatu tipe data, (ntuk mengetahui jangkauan (range)

(range) tipe data, anda bisa melihat di bagian tipe data, anda bisa melihat di bagian helphelp. aranya ". aranya " HelpHelp = = IndexIndex, kemudian cari, kemudian cari kata

kata integer integer , lalu tekan enter , lalu tekan enter maka akan muncul tampilan sebagai berikut "maka akan muncul tampilan sebagai berikut "

+ambar 6. Tampilan

+ambar 6. Tampilan HelpHelp di turbo pascal ketika menampilkan tipe datadi turbo pascal ketika menampilkan tipe data

>h

>h yaya? ? di di TuTurbrbo o PaPascscalal, , teterdrdapapat at $a$asisilitlitas as ununtutuk k memengngatatur ur &a&arnrna a tatampmpililanan,, mi

misasalnlnya ya &a&arnrna a %i%intntakakss (sintax)(sintax), , bibila la ananda da iningigin n memencncoboba a sisilalahkhkan an mamasusuk k ke ke memenunu Option > Environment > Color 

Option > Environment > Color . Di bagian. Di bagian GroupGroup cari kata cari kata Synta Synta , selanjutnya di bagian, selanjutnya di bagian !tem

!tem, terdapat item!item ", terdapat item!item " Whitespace, Comments, RWhitespace, Comments, Reserver Words, Identifiers, Symbols,eserver Words, Identifiers, Symbols, String

Strings, s, umbeumbers, rs, !sse!ssemblermbler yang dapat diatur &arna tampilannya, caranya pilih salahyang dapat diatur &arna tampilannya, caranya pilih salah 5

(5)

satu @tem kemudian pilih &arna apa

satu @tem kemudian pilih &arna apa yang dikehyang dikehendaendaki pada ki pada bagibagianan Fore"round Fore"round   untuk  untuk &arna depan sedangkan

&arna depan sedangkan #ac$"round #ac$"round  untuk &arna latar belakang. untuk &arna latar belakang.

+ambar 7. Tampilan menu

+ambar 7. Tampilan menu ColorsColors Pe

Pengngatatururan an tatampmpilailan n &a&arnrnaa ssinintataxx padpada a 2di2ditor tor TurTurbo bo PasPascacal l memmemang ang bukbukan an suasuatutu ke

ke&a&ajibjibanan, , dadan n tidtidak ak akakan an beberprpenengagaruruh h teterhrhadadap ap prprososes es prprogograram. m. TeTetatapi pi hahal l ininii berman$aat pada saat proses pembuatan<pengetikan program, dimana perbedaan &arna berman$aat pada saat proses pembuatan<pengetikan program, dimana perbedaan &arna item!item

(6)

.

. !en!engguggunaknakan pran prososeduedur r 

%e

%elalanjnjututnynya a kikita ta momodidi$i$ikakasi si prprogograram m tatadidi, , dedengngan an memenanambmbahahkakan n prprososededurur sehingga menjadi seperti diba&ah ini "

sehingga menjadi seperti diba&ah ini "

+ambar ;.

+ambar ;. Program Program PersegipanjaPersegipanjangng menggunakan prosedur menggunakan prosedur 

Pada program

Pada program tanpa prosedur tanpa prosedur  maka seluruh maka seluruh statement statement dituldituliskan di dalam blokiskan di dalam blok pro

progragram m utautama, ma, sehsehingingga ga ketketika ika proprogragram m sesemakmakin in besbesar ar makmaka a bloblok k proprogragram m utautamama semakin padat. Tetapi bila menggunakan prosedur maka di dalam blok program utama semakin padat. Tetapi bila menggunakan prosedur maka di dalam blok program utama akan lebih sedikit

akan lebih sedikit, , karekarena hanya berisi nama prosedur yang dibutuhna hanya berisi nama prosedur yang dibutuhkan dankan dan statementstatement tambahan lainnnya yang dibutuhkan. Pada contoh diatas nama prosedur yang dipanggil di tambahan lainnnya yang dibutuhkan. Pada contoh diatas nama prosedur yang dipanggil di da

dalalam m blblok ok prprogograram m ututamama a yayaitituu HitungHitung "  " LuasLuas  d  daann Hitung_KelilingHitung_Keliling dadan n araarahh pemanggilan prosedur digambarkan dengan garis putus!putus ber&arna merah agar lebih pemanggilan prosedur digambarkan dengan garis putus!putus ber&arna merah agar lebih  jelas.

 jelas.

ila dituliskan di 2ditor Turbo Pascal kira!kira tampilannya seperti diba&ah ini. ila dituliskan di 2ditor Turbo Pascal kira!kira tampilannya seperti diba&ah ini. (nt

(ntuk uk melmelihaihat t hashasilnilnya, ya, sepseperterti i biabiasa sa silsilahkahkan an tektekan an trtrl l 3 3 #4. #4. ilila a proprogragram m susudahdah dieksekusi maka kedua program tersebut )program dengan prosedur atau tanpa prosedur* dieksekusi maka kedua program tersebut )program dengan prosedur atau tanpa prosedur* akan memberikan hasil yang sama, tetapi dari teknik pembuatan program jelas berbeda. akan memberikan hasil yang sama, tetapi dari teknik pembuatan program jelas berbeda.

6 6 Program

Program PersegiPanjaPersegiPanjangng ; ; {&udul {&udul "rogram "rogram #tama}#tama} uses

uses $rt; $rt; var

var {deklarasi {deklarasi %ariabel %ariabel global}global} p,l:byte;

p,l:byte; {p {p :pan&ang, :pan&ang, l:lebar}l:lebar} ls,kel:integ

ls,kel:integer; er; {ls:luas, {ls:luas, kel:kelilinkel:keliling}g} Procedure

Procedure Hitung_LuasHitung_Luas; ; {"rosedur {"rosedur untuk untuk meng*itung meng*itung luas}luas}  begin  begin  ls:+pl;  ls:+pl; 'riteln(0ua 'riteln(0uas s :,ls);:,ls); end; end; Procedure

Procedure Hitung_KelilingHitung_Keliling;; {{""rroosseedduur r uunnttuuk k mmeenngg**iittuunng g kkeelliilliinngg}}  begin  begin kel:+(2p)/ kel:+(2p)/(2l);(2l);  'riteln(.eliling :,kel);  'riteln(.eliling :,kel); end; end; {+++program utama+++} {+++program utama+++}  begin  begin   $lrs$r;   $lrs$r; 'riteln("ro

'riteln("rogram #ntugram #ntuk eng*ituk eng*itung luas ng luas dan kelildan keliling perseging persegipan&ang);ipan&ang);   'riteln;

  'riteln; 'rite(asuk

'rite(asukan an pan&ang pan&ang : : );readln(p));readln(p);; 'rite(asuk

'rite(asukan an lebar lebar : : );readln(l));readln(l);;   'riteln;

  'riteln; Hitung_Luas;

Hitung_Luas; {emanggil {emanggil prosedur prosedur itung_0uas}itung_0uas} Hitung_Keliling;

Hitung_Keliling; {emanggil {emanggil prosedur prosedur itung_.elilitung_.eliling}ing}   readln;

  readln; end.

(7)

{program utama} {program utama}  begin  begin statement1; statement1; statement2; statement2; Prosedur1; Prosedur1; statement; statement; statement3; statement3; statement4; statement4; Prosedur2 Prosedur2;; !tatement5; !tatement5; statementn; statementn; end. end.

+ambar 4. Tampilan di 2ditor Turbo Pascal, +ambar 4. Tampilan di 2ditor Turbo Pascal, Program Persegipanjang

Program Persegipanjang menggunakan prosedur menggunakan prosedur 

Ket

Ketika kita ika kita memmembuabuat t suasuatu tu proprogragramm tanpa prosedur tanpa prosedur   maka seluruh statement  maka seluruh statement yang terdapat di dalam program utama akan dieksekusi secara beruntun

yang terdapat di dalam program utama akan dieksekusi secara beruntun (se"uential)(se"uential) dari dari atas ke ba&a

atas ke ba&ah, sedangh, sedangkan bila mengkan bila menggunagunakan kan prosprosedur, makedur, maka program utama program utama hanyaa hanya akan mengeksekusi prosedur!prosedur yang dipanggil, bila prosedur tersebut dipanggil di akan mengeksekusi prosedur!prosedur yang dipanggil, bila prosedur tersebut dipanggil di dalam

dalam program utama, program utama, jadi bila untujadi bila untuk sementara k sementara kita tidak memkita tidak membutuhkannya, butuhkannya, maka caramaka cara mudah yang dapat kita lakukan yaitu tidak usah menghapusnya tetapi cukup dengan tidak mudah yang dapat kita lakukan yaitu tidak usah menghapusnya tetapi cukup dengan tidak memanggilnya di dalam blok program utama.

memanggilnya di dalam blok program utama.

+ambar 10. -rah eksekusi program utama ketika terdapat prosedur, maka akan

+ambar 10. -rah eksekusi program utama ketika terdapat prosedur, maka akan memanggimemanggill prosedur dan melakasanakan statement yang terdapat di

prosedur dan melakasanakan statement yang terdapat di dalam prosedur dalam prosedur 

Procedure

Procedure Prosedur1Prosedur1;;  begin  begin statement1; statement1;   statement2;   statement2; 666 666 !tatementn; !tatementn; end; end; Procedure

Procedure Prosedur2Prosedur2;;  begin  begin statement1; statement1;   statement2;   statement2; 666 666 !tatementn; !tatementn; end; end; # # $ $ % % & & ' ' ( ( ) ) * * + +

(8)

,.

,. -aria-ariabel bel lobalobal dan l dan -ari-ariabel abel /oka/okall

(ntuk lebih memudahkan kita memahami variabel lokal dan variabel global, mari (ntuk lebih memudahkan kita memahami variabel lokal dan variabel global, mari kit

kita a modmodi$ii$ikaskasi i lislistinting g proprorgrrgram am padpada a +am+ambar bar 4, 4, perperubaubahahannynnya a hanhanya ya sedsedikiikit t yaiyaitu,tu, memindahkan penulisan variabel

memindahkan penulisan variabel lsls ke dalam ke dalam Procedure Hitung_luasProcedure Hitung_luas , dan variabel , dan variabel kel

kel  dipinda  dipindahkan ke dalhkan ke dalamam Procedure Hitung_kelilingProcedure Hitung_keliling, sehingga menjadi seperti, sehingga menjadi seperti diba&ah ini.

diba&ah ini.

+ambar 11.

+ambar 11. Program PersegipanjangProgram Persegipanjang menggunakan prosedur dengan variabel lokalmenggunakan prosedur dengan variabel lokal Aariabel

Aariabel pp  d  daann ll pada listing pada listing progprogram di ram di +amb+ambar 11 ar 11 diatdiatas, bersi$at globaas, bersi$at global l sehisehingga dapatngga dapat dikenali baik di program utama maupun didalam

dikenali baik di program utama maupun didalam Procedure Hitung_luasProcedure Hitung_luas dandan ProcedureProcedure Hitung_keliling

Hitung_keliling, , vavaririababel el sesemamacacam m ititululah ah yayang ng didimamaksksud ud dedengngan an vavaririababel el glglobobalal.. %edangkan variabel

%edangkan variabel lsls  dan var  dan variabiabelel kelkel  bersi$at lokal dan hanya dikenali oleh program itu  bersi$at lokal dan hanya dikenali oleh program itu send

sendiri, iri, varivariabel seperti itu abel seperti itu disedisebut but varivariabel lokal. abel lokal. ila variabeila variabel l lokalokal l dipadipangginggil l dildiluar uar proseprosedurdur terse

tersebut maka tidak but maka tidak akan dikenakan dikenali dan ali dan progprogram menjadiram menjadi error error , sebagai bukti mari kita sedikit, sebagai bukti mari kita sedikit modi$ikasi listing program pada gambar 11, output program yang terdapat pada masing!masing modi$ikasi 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 program kita pindahkan ke dalam blok program utama, sehingga di dalam setiap prosedur hanya terdapat satu

terdapat satu statement statement  saja,  saja, hasilnya hasilnya seperti dseperti diba&ah iiba&ah ini.ni.

; ;

(9)

+ambar 1'.

+ambar 1'. Program PersegipanjangProgram Persegipanjang , bila variabel lokal dipanggil dari luar , bila variabel lokal dipanggil dari luar 

ila program tersebut di

ila program tersebut dicompilecompile makamaka akan terjadiakan terjadi error error  karena variabel karena variabel lsls dandan kel

kel titidadak dikek dikenanalili (un(un#n#nown own ideidentintifiefier)r) di dalam blok program utamadi dalam blok program utama.. ProseProsedur dur yangyang terda

terdapat di pat di daladalam m progprogram pada ram pada listinlisting g diatadiatas s adaladalah ah contocontoh h proseprosedur tanpa dur tanpa paramparameter.eter... ila prosedur tidak memiliki parameter maka tanda kurung setelah nama prosedur tidak ila prosedur tidak memiliki parameter maka tanda kurung setelah nama prosedur tidak perlu disertakan. -gar listing program pada gambar 1' tidak terjadi

perlu disertakan. -gar listing program pada gambar 1' tidak terjadi errorerror ketika diketika dicompilecompile,, maka dapat

maka dapat dilakukan dilakukan cara sebacara sebagai berikut "gai berikut " 1.

1. DiDibubuat bat berersisi$a$at glt globobalal %upay

%upaya a suatsuatu u variavariabel bersi$at global, maka bel bersi$at global, maka harus didekharus dideklaraslarasikan di ikan di atas modul yangatas modul yang mengg

menggunakunakannyannya. a. isalisalnya nya listinlisting g progrprogram am pada gambar pada gambar 1' 1' dikemdikembalikbalikan an sepesepertiirtii listing program pada gambar 11.

listing program pada gambar 11. '.

'. DikiriDikirim sebam sebagai pargai parameteameter ke modur ke modul yang mel yang membutumbutuhkannhkannya.ya.

agaimana caranya, apa yang dimaksud dengan parameter, semoga tulisan berikut ini agaimana caranya, apa yang dimaksud dengan parameter, semoga tulisan berikut ini bisa menja&ab kedua pertanyaan tersebut.

(10)

F

F.. PaParraamemeteterr

%ecara sederhana parameter merupakan variabel yang dituliskan di dalam kurung %ecara sederhana parameter merupakan variabel yang dituliskan di dalam kurung set

setelaelah h namnama a proprosesedur dur ataatau u $un$ungsgsi. i. DalDalam am pempembuabuatan tan proprogragram m biabiasasanya nya dipdiperlerlukaukann pertukaran in$ormasi antara prosedur atau $ungsi, serta pada blok progam utama dimana pertukaran in$ormasi antara prosedur atau $ungsi, serta pada blok progam utama dimana nama prosedur atau $ungsi tersebut dipanggil.

nama prosedur atau $ungsi tersebut dipanggil.

erdasarkan penulisannya terdapat ' jenis parameter, yaitu "

erdasarkan penulisannya terdapat ' jenis parameter, yaitu " parameter 0ormalparameter 0ormal (formal parameter)

(formal parameter)  dan  dan parameter aktualparameter aktual (actual parameter)(actual parameter).. Parameter 0ormalParameter 0ormal  adalah  adalah parameter yang

parameter yang disertakan<dituliskan disertakan<dituliskan pada saat pada saat pende$inisian ppende$inisian prosedur<$ungsi rosedur<$ungsi itu sendiri.itu sendiri. %edangkan

%edangkan parameter aktualparameter aktual adalah parameter yang disertakan pada saat pemanggilan adalah parameter yang disertakan pada saat pemanggilan prosedur<$ungsi tersebut di blok program utama.

prosedur<$ungsi tersebut di blok program utama.

erdasarkan tujuannya terdapat  jenis parameter $ormal " erdasarkan tujuannya terdapat  jenis parameter $ormal " 1

1.. PPaarraammeetteer r mmaassuukkaann (inpu(input t paramparameter)eter), , yaiyaitu tu " " parparameameter ter yanyang g nilnilainainya ya berber$un$ungsigsi seb

sebagaagai i masmasukaukan n untuntuk uk proprosedsedur<ur<$un$ungsigsi, , jenjenis is parparameameter ter ini ini kakadandang g disdisebebut ut jugjugaa parameter nilai )

parameter nilai )value parameter value parameter  atau atau parameter by value parameter by value*.*. '

'.. PPaarraammeetteer r kkeelluuaararann (outp(output ut paramparameter)eter), , yayaitu itu " " papararamemeteter r yayang ng beber$r$unungsgsi i ununtutukk menampung keluaran yang dihasilkan oleh prosedur.

menampung keluaran yang dihasilkan oleh prosedur. .

. PaPararamemeteter r mamasusukakan<n<kekeluluararan an ))inputinput$outp$output ut paramparameter eter * * adadalalah ah papararamemeteter r yayangng be

ber$r$unungsgsi i sesebabagagai i BpBpinintutuC C mamasusuk k dadan n kekeluluar ar babagi gi prprososededur ur tetersrsebebutut. . PaPararamemeteterr keluaran )

keluaran )output parameter output parameter * dan parameter masukan<keluaran )* dan parameter masukan<keluaran )input$output parameter input$output parameter ** kadang disebut parameter acuan )

kadang disebut parameter acuan )reference parameter reference parameter  atau atau paramater by reference paramater by reference*.*.

10 10

(11)

(ntuk lebih jelasnya, kita langsung praktekannya saja, seperti biasa kita modi$ikasi listing (ntuk lebih jelasnya, kita langsung praktekannya saja, seperti biasa kita modi$ikasi listing program pada gambar 1', sehingga hasilnya seperti diba&ah ini.

program pada gambar 1', sehingga hasilnya seperti diba&ah ini.

+ambar 1.

+ambar 1. Program PersegipanjangProgram Persegipanjang , dengan parameter , dengan parameter 

Par

Parameameter ter inpinput ut adadalaalah h parparameameter ter yanyang g nilnilainainya ya berber$un$ungsi gsi sesebagbagai ai masmasukaukann untuk prosedur. ilai yang dimasukan adalah nilai dari parameter aktual. Pada listing untuk prosedur. ilai yang dimasukan adalah nilai dari parameter aktual. Pada listing program gambar 1 diatas,

program gambar 1 diatas, parameter aktual<nyataparameter aktual<nyata (actual parameter)(actual parameter) adalah adalah pj pj dan dan lbrlbr11 sedangkan

sedangkan p p dan dan ll adalah parameter $ormaladalah parameter $ormal (formal parameter)(formal parameter). ama parameter aktual. ama parameter aktual dan parameter $ormal boleh berbeda, yang penting tipe datanya sama,

dan parameter $ormal boleh berbeda, yang penting tipe datanya sama,  p p  da  dann ll  yang  yang ditulis di dalam kurung setelah nama prosedur seperti listing program diatas termasuk ke ditulis di dalam kurung setelah nama prosedur seperti listing program diatas termasuk ke dalam parameter input. aksudnya bah&a

dalam parameter input. aksudnya bah&a p p  dan  dan ll ber$ungsi sebagai pintu masuk databer$ungsi sebagai pintu masuk data ba

bagi gi prprososededurur Hitung_LuasHitung_Luas  d  daann Hitung_KelilingHitung_Keliling. . DaData ta yayang ng mamasusuk k kke e dadalalamm parameter

parameter p p berasal dari parameter aktual berasal dari parameter aktual pj pj, dan data yang masuk ke dalam parameter, dan data yang masuk ke dalam parameter l

l  berasal dari parameter aktual  berasal dari parameter aktual lbrlbr. ila diketikan di editor Turbo Pascal kurang lebih. ila diketikan di editor Turbo Pascal kurang lebih hasilnya sebagai berikut "

hasilnya sebagai berikut " Program 

Program PersegiPanjangPersegiPanjang ; ; {&udul {&udul "rogram "rogram #tama}#tama} uses

uses $rt; $rt; Procedure

Procedure Hitung_LuasHitung_Luas(( p,l p,l:integer); :integer); {"rosedur {"rosedur dengan dengan parameter}parameter} var var l lss::iinntteeggeerr;; {{%%aarriiaabbeel l llookkaall}}  begin  begin   ls:+pl;   ls:+pl; 'riteln(0ua 'riteln(0uas s :,ls);:,ls); end; end; Procedure

Procedure Hitung_KelilingHitung_Keliling p,l p,l(( :i:intntegegerer);); {"ro{"rosesedudur r dedengngan an papararamemeteter}r} var var k keell::iinntteeggeerr;; {{%%aarriiaabbeel l llookkaall}}  begin  begin   kel:+(2p)/(2l);   kel:+(2p)/(2l); 'riteln(.e

'riteln(.eliling liling :,kel);:,kel); end; end; {+++program utama+++} {+++program utama+++} var var   p&,lbr:integer;   p&,lbr:integer;  begin  begin   $lrs$r;   $lrs$r; 'riteln("ro

'riteln("rogram gram #ntuk #ntuk eng*itung eng*itung luas luas dan dan keliling keliling persegipan&apersegipan&ang);ng);   'riteln;

  'riteln; 'rite(asuk

'rite(asukan an pan&ang pan&ang : : );readln(p&);readln(p&);); 'rite(asuk

'rite(asukan an lebar lebar : : );readln(lb);readln(lbr);r);   'riteln;

  'riteln; Hitung_Luas

Hitung_Luas(( pj,lbr pj,lbr); ); {emanggil {emanggil prosedur prosedur itung_0uas}itung_0uas} Hitung_Keliling

Hitung_Keliling(( pj,lbr pj,lbr); ); {emanggil {emanggil prosedur prosedur itung_.eliliitung_.eliling}ng}   readln;

  readln; end.

(12)

+ambar 15. Tampilan di 2ditor Turbo Pascal,

+ambar 15. Tampilan di 2ditor Turbo Pascal, Program PersegipanjangProgram Persegipanjang , dengan parameter , dengan parameter 

.

. Pa%%in" Parameter Pa%%in" Parameter  Pro

Proses ses penpengirgirimaiman n datdata a dardari i parparameameter ter aktaktual ual ke ke parparameameter ter $or$ormal mal disdisebuebutt dengan trans$er parameter

dengan trans$er parameter (passing parameter)%(passing parameter)% ama Parameter aktual dan parameter ama Parameter aktual dan parameter $ormal boleh berbeda, tetapi harus memiliki tipe data yang sama selain itu juga jumlah $ormal boleh berbeda, tetapi harus memiliki tipe data yang sama selain itu juga jumlah param

parameter aktuaeter aktual dan parametl dan parameter $ormal harus saer $ormal harus sama. ma. Di Turbo PascDi Turbo Pascal, al, paramparameter dapaeter dapatt dikirim<ditrans$er secara nilai

dikirim<ditrans$er secara nilai (by value)(by value) atau secara acuan atau secara acuan (by reference)%(by reference)%

#.

#. PenPengirgirimaiman paran parametmeter secer secarara nilaia nilai (&y value)(&y value) /i

/ika ka papararamemeteter r didikikiririm m sesecacara ra ninilalaii (by (by valvalue)ue), , makmaka a parparameameter ter $or$ormal mal yanyangg terletak di dalam pende$inisan prosedur akan berisi nilai yang dikirimkan dari parameter terletak di dalam pende$inisan prosedur akan berisi nilai yang dikirimkan dari parameter aktual, yang kemudian bersi$at lokal di prosedur tersebut. ila nilai parameter $ormal di aktual, yang kemudian bersi$at lokal di prosedur tersebut. ila nilai parameter $ormal di dalam prosedur tersebut berubah, maka tidak akan mempengaruhi nilai parameter aktual dalam prosedur tersebut berubah, maka tidak akan mempengaruhi nilai parameter aktual )nilai paramet

)nilai parameter er aktuaktual al tetaptetap*. *. PengPengiriman parametiriman parameter er secasecara ra nilai )nilai )by valueby value* biasanya* biasanya terjadi pada jenis parameter masukan

terjadi pada jenis parameter masukan (input parameter)%(input parameter)% -gar lebih jelas seperti biasa kita -gar lebih jelas seperti biasa kita modi$ikasi listing program +ambar 15, sehingga lebih pendek dan agar lebih sederhana modi$ikasi listing program +ambar 15, sehingga lebih pendek dan agar lebih sederhana kita buat hanya terdapat satu prosedur saja, hasil modi$ikasinya dapat dilihat pada gambar kita buat hanya terdapat satu prosedur saja, hasil modi$ikasinya dapat dilihat pada gambar diba&ah ini.

diba&ah ini.

1' 1'

(13)

+ambar 19.

+ambar 19. Program PersegipanjangProgram Persegipanjang , dengan pengiriman parameter secara nilai, dengan pengiriman parameter secara nilai

ilai!

ilai!nilai parametenilai parameter r aktuaaktuall pj pj ,, lbrlbr dandan  luas  luas di dalam blok program utamadi dalam blok program utama dik

dikirimirimkan ke kan ke parparameameter ter $or$ormalmal p,  p, ll dandan lsls di prosedudi prosedur r   Hitung_Luas  Hitung_Luas. . DenDengangan demikian, nilai parameter

demikian, nilai parameter p, p, ll dandan ls ls di prosedur di prosedur Hitung_LuasHitung_Luas akan berisi nilai yang akan berisi nilai yang sama

sama dengdengan an paramparameter eter  pjpj ,, llbbrr dandan  l  luuaass di dalam blok program utama. iladi dalam blok program utama. ila program dijalankan maka hasilnya seperti diba&ah ini.

program dijalankan maka hasilnya seperti diba&ah ini.

+ambar 16. Tampilan

+ambar 16. Tampilan program hasil running program hasil running  1

1 Program PersegiPanjangProgram PersegiPanjang ; ; {&udul {&udul "rogram "rogram #tama}#tama} 2

2 usesuses $rt; $rt; 

 Procedure Hitung_LuasProcedure Hitung_Luas(p,l,ls:int(p,l,ls:integer); eger); {"rosedur {"rosedur dengan dengan parameter}parameter}    begin begin 4 4   ls:+pl;  ls:+pl; 5 5 'riteln(p 'riteln(p + + ,p);,p); 7 7 'riteln(l 'riteln(l + + ,l);,l); 8 8 'riteln(ls 'riteln(ls + + ,ls);,ls); ! ! end;end; 19

19 {+++program utama+++}{+++program utama+++} 11 11 varvar 12 12   p&,lbr,luas:integer;  p&,lbr,luas:integer; 1" 1" begin begin 13 13   $lrs$r;  $lrs$r; 14

14 'riteln("ro'riteln("rogram gram #ntuk #ntuk eng*itung eng*itung luas luas persegipan&persegipan&ang);ang); 15 15   p&:+19;  p&:+19; 17 17   lbr:+5;  lbr:+5; 18 18   luas:+9;  luas:+9; 1 1   'riteln;  'riteln; 29

29   Hitung_Luas  Hitung_Luas(p&,lbr,luas)(p&,lbr,luas); ; {emanggil {emanggil prosedur prosedur itung_0uas}itung_0uas} 21

21   'riteln;  'riteln; 22

22   'riteln(p&   'riteln(p& + + ,p&);,p&); 2

2 'riteln(lbr 'riteln(lbr + + ,lbr);,lbr); 23

23 'riteln(lua'riteln(luas s + + ,luas);,luas); 24

24   readln;  readln; 2#

(14)

Par

Parameameter ter $or$ormalmal p p akaakan n berberisi nilai isi nilai yanyang g samsama a dendengan paragan parametmeter er aktaktualual pj pj,, yaitu 10. Parameter $ormal

yaitu 10. Parameter $ormal l l akan berisi nilai yang sama dengan parameter aktual akan berisi nilai yang sama dengan parameter aktual  lbr lbr,, yaitu 6. Parameter $ormal

yaitu 6. Parameter $ormal lsls akan berisi nilai yang sama dengan parameter aktual akan berisi nilai yang sama dengan parameter aktual luas luas,, ya

yaitu itu 0. 0. %e%elalanjnjututnynya a papada da prprososededurur Hitung_LuasHitung_Luas, , papararamemeteter r $o$ormrmalal lsls  kemudian  kemudian berganti nilai sebesar nilai

berganti nilai sebesar nilai p p dikali nilai dikali nilai l l, sehingga nilai parameter $ormal, sehingga nilai parameter $ormal lsls menjadi 10 menjadi 10 E 6 8 60. ilai akhir parameter $ormal

E 6 8 60. ilai akhir parameter $ormal p, l p, l dandan ls ls adalah " adalah "  p $ 1%  p $ 1% l $ # l $ # ls $ #% ls $ #% +am

+ambar bar diadiatas tas adadalaalah h concontoh toh penpengirgirimaiman n parparameameter ter secsecara ara nilnilaiai (by (by valuvalue)e),, pengiriman parameter seperti ini si$atnya lokal, maksudnya perubahan nilai parameter di pengiriman parameter seperti ini si$atnya lokal, maksudnya perubahan nilai parameter di dalam prosedur tidak akan mempengaruhi nilai parameter aktual di blok program utama, dalam prosedur tidak akan mempengaruhi nilai parameter aktual di blok program utama, sehin

sehingga nilai gga nilai paramparametereter luasluas tidak akan dipengtidak akan dipengaruharuhi i oleh perubaoleh perubahan nilaihan nilai lsls, jadi nilai, jadi nilai parameter

parameter luasluas masih tetap 0. masih tetap 0. /a

/adi di pepengngiriirimaman n papararamemeteter r sesecacara ra ninilalai i ))by by vavaluluee* * memmempupunyanyai i karkaraktakterierististikk sebagai berikut "

sebagai berikut " 1.

1. Data yData yang dang dikirim ikirim dari pdari paramearameter akter aktual dtual di blok i blok progrprogram utam utama ke ama ke paramparameter $oeter $ormal rmal didi prosedur adalah nilai dari datanya bukan alamat memori letak

prosedur adalah nilai dari datanya bukan alamat memori letak dari datanya.dari datanya. '.

'. ProProsedsedur<ur<#un#ungsi yang menegsi yang menerimrima a nilnilai ai ini akan menyini akan menyimpimpan data tersean data tersebut di but di alaalamatmat memori yang berbeda dari nilai aslinya yang digunakan oleh bagian program yang memori yang berbeda dari nilai aslinya yang digunakan oleh bagian program yang memanggil $ungsi<prosedur tersebut di blok program utama.

memanggil $ungsi<prosedur tersebut di blok program utama. .

. KarKarena terdena terdapaapat t alaalamamat t memmemori yang berbori yang berbedaeda, , makmaka a perperubaubahan nilahan nilai i di $ungsdi $ungsi i tidtidakak akan merubah nilai asli di

akan merubah nilai asli di bagian program yang memanggil prosedur<$ungsi tersebut.bagian program yang memanggil prosedur<$ungsi tersebut.

15 15

(15)

$.

$. PenPengirgirimaiman paran parametmeter secer secarara acuaa acuann (&y re'erence)(&y re'erence)

ila parameter dikirimkan secara acuan

ila parameter dikirimkan secara acuan (by refence)(by refence), maka , maka perubahan!perubaperubahan!perubahanhan yang terjadi pada nilai parameter $ormal di prosedur akan mempengaruhi nilai parameter yang terjadi pada nilai parameter $ormal di prosedur akan mempengaruhi nilai parameter akt

aktual ual di di bloblok k proprogragram m utautama. ma. /en/enis is parparameameter ter ini ini diddidekleklaraarasiksikan an di di daldalam am proprosedsedurur deng

dengan an mengmenggunagunakan kata kan kata cadacadanganngan var var . %eperti biasa, kita modi$ikasi program pada. %eperti biasa, kita modi$ikasi program pada gambar 19, yaitu dengan menambahkan kata var pada paramaternya, sehingga hasilnya gambar 19, yaitu dengan menambahkan kata var pada paramaternya, sehingga hasilnya sebagai berikut "

sebagai berikut "

+ambar 17.

+ambar 17. Program PersegipanjangProgram Persegipanjang , dengan , dengan pengiriman parameterpengiriman parameter by referenceby reference

ilai!

ilai!nilai parametenilai parameter r aktuaaktuall pj pj ,, lbrlbr dandan  luas  luas di dalam blok program utamadi dalam blok program utama dikirimkan ke parameter $ormal

dikirimkan ke parameter $ormal p, l p, l dandan ls ls di prosedur  di prosedur  Hitung_Luas Hitung_Luas. Tetapi karena. Tetapi karena penulisan kata

penulisan kata varvar  s  sebeluebelumm lsls pada paramete pada parameter r $orma$ormal, maka parametel, maka parameterr lsls  ber$ungsi  ber$ungsi sebagai parmeter input<output. /enis pengiriman parameter seperti ini disebut pengiriman sebagai parmeter input<output. /enis pengiriman parameter seperti ini disebut pengiriman pa

pararamemeteter r sesecacara ra acacuauan n ))by by rerefefencncee*. *. %e%ehihingngga ga hahasisil l peperhrhititunungagan n di di prprososededurur Hitung_Luas

Hitung_Luas yayang ditng ditamampupung ding di lsls akakan dile&an dile&atkatkan ke an ke parparameameterter lsls di proseddi prosedurur ter

tersebsebut, ut, selselanjanjutnutnya ya dikdikirimirimkan kan kemkembalbali i ke ke parparameameterter luasluas di di bloblok k proprogragram m utautama.ma. 1

1 Program Program PersegiPanjangPersegiPanjang ; ; {&udul {&udul "rogram "rogram #tama}#tama} 2

2 usesuses $rt; $rt;

 ProcedureProcedure Hitung_LuasHitung_Luas(p,l:integer; %ar ls:integer);(p,l:integer; %ar ls:integer);{"rosedur dgn{"rosedur dgn parameter} parameter}    begin begin 4 4   ls:+pl;  ls:+pl; 5 5 'riteln(p 'riteln(p + + ,p);,p); 7 7 'riteln(l 'riteln(l + + ,l);,l); 8 8 'riteln(ls 'riteln(ls + + ,ls);,ls); ! ! end;end; 19

19 {+++program utama+++}{+++program utama+++} 11 11 varvar 12 12   p&,lbr,luas:integer;  p&,lbr,luas:integer; 1" 1"  begin begin 13 13   $lrs$r;  $lrs$r; 14

14 'riteln("ro'riteln("rogram gram #ntuk #ntuk eng*itung eng*itung luas luas persegipan&anpersegipan&ang);g); 15 15   p&:+19;  p&:+19; 17 17   lbr:+5;  lbr:+5; 18 18   luas:+9;  luas:+9; 1 1   'riteln;  'riteln; 29

29   Hitung_Luas  Hitung_Luas(p&,lbr,luas(p&,lbr,luas); ); {emanggil {emanggil prosedur prosedur itung_0uas}itung_0uas} 21

21   'riteln;  'riteln; 22

22   'riteln(p&   'riteln(p& + + ,p&);,p&); 2

2 'riteln(lbr 'riteln(lbr + + ,lbr);,lbr); 23

23 'riteln(lua'riteln(luas s + + ,luas);,luas); 24 24   readln;  readln; 2# 2# end.end. 2 2 1 1 3 3

(16)

Dengan demikian parameter 

Dengan demikian parameter  lsls  di prosedur  di prosedur Hitung_LuasHitung_Luas akan berisi nilai yang sama akan berisi nilai yang sama dengan parameter 

dengan parameter   lu  luasas di dalam blok progdi dalam blok program utamram utama a yaiyaitutu #%#%. Pada gambar diatas. Pada gambar diatas diberikan nomor urut 1, ' dan  untuk menggambarkan urutan langkah trans$er parameter diberikan nomor urut 1, ' dan  untuk menggambarkan urutan langkah trans$er parameter dan juga menggunakan &arna berbeda agar

dan juga menggunakan &arna berbeda agar mudah membedakannnya.mudah membedakannnya. ila program dijalankan maka hasilnya seperti diba&ah ini.

ila program dijalankan maka hasilnya seperti diba&ah ini.

+ambar 1;. Tampilan

+ambar 1;. Tampilan program hasil running program hasil running 

Peng

Pengiriman parameteiriman parameter r secarsecara a acuaacuan n ))by by refencrefencee* * biabiasansanya ya terterjadjadi i padpada a jenjenisis parameter keluaran )

parameter keluaran )output parameter output parameter * dan parameter masukan<keluaran )* dan parameter masukan<keluaran )input$outputinput$output  parameter 

 parameter *. Pengiriman parameter secara acuan )*. Pengiriman parameter secara acuan )by referenceby reference* mempunyai karakteristik* mempunyai karakteristik sebagai berikut "

sebagai berikut " 1.

1. Pada saPada saat pengiat pengiriman niriman nilai, yang dlai, yang dikirim darikirim dari parameti parameter aktuaer aktual di blok progral di blok program utamam utama ke parameter $ormal

ke parameter $ormal di prosedur adadi prosedur adalah alamat letak dlah alamat letak dari nilai datanya ari nilai datanya bukan.bukan. '.

'. ProProsedsedur<ur<#un#ungsi yang menegsi yang menerimrima a nilnilai ai ini akan menggini akan menggunaunakakan n alaalamat memomat memori ri yanyangg sama dengan nilai aslinya yang digunakan oleh bagian program yang memanggil sama dengan nilai aslinya yang digunakan oleh bagian program yang memanggil $ungsi<prosedur tersebut di blok program utama.

$ungsi<prosedur tersebut di blok program utama. .

. KaKarerenna a mmenenggggununaakakan n aalalamamat t mmememorori i yayanng g sasamama, , mmakaka a peperurubabahahan n nnililaai i ddii pr

prososededurur<$<$unungsgsi i akakan an memerurubabah h ninilalai i asasli li di di babagigian an prprogograram m yayang ng mememamangnggigill prosedur<$ungsi tersebut.

prosedur<$ungsi tersebut.

16 16

(17)

H.

H. PenPenuliulisan san FunFungsigsi (Function)(Function)

 -pa yang dimaksud dengan $ungsi. #ungsi tidak j

 -pa yang dimaksud dengan $ungsi. #ungsi tidak jauh berbeda dengan prosedur,auh berbeda dengan prosedur, yai

yaitu tu suasuatu tu modmodul ul proprogragram m terterpispisah ah dadari ri proprogam gam utautama ma yanyang g dildiletaetakan kan daldalam am bloblokk tersendiri yang ber$ungsi sebagai bagian dari program. amun $ungsi memiliki perbedaan tersendiri yang ber$ungsi sebagai bagian dari program. amun $ungsi memiliki perbedaan men

mendasdasar ar dendengan gan proprosedsedur ur yaiyaitu tu " " $un$ungsi gsi memmemberberikaikan n nilnilai ai balbalikik (return)(return)  sedangkan  sedangkan prosedur tidak. ara penulisan $ungsi di Turbo Pascal seperti

prosedur tidak. ara penulisan $ungsi di Turbo Pascal seperti diba&ah ini "diba&ah ini "

+ambar 14. ara Penulisan #ungsi +ambar 14. ara Penulisan #ungsi

+ambar '0. %truktur blok program beserta #ungsi +ambar '0. %truktur blok program beserta #ungsi

/ika kita ketikan di editor Turbo Pascal, kira!kira tampilannya seperti terlihat pada /ika kita ketikan di editor Turbo Pascal, kira!kira tampilannya seperti terlihat pada gambar diba&ah ini "

gambar diba&ah ini " &unction

&unction Nama_&ungsi Nama_&ungsi(param_formal:tipe_param,666):tipe_*asil;(param_formal:tipe_param,666):tipe_*asil;

var var

{bagian deklarasi fungsi, sifatnya lokal} {bagian deklarasi fungsi, sifatnya lokal}

 begin  begin statement1; statement1; statement2; statement2; ………… ………… !tatementn; !tatementn; ama_<ungsi:+*asil; ama_<ungsi:+*asil; end; end; Program PersegiPanjang; Program PersegiPanjang; uses $rt; uses $rt; &unction

&unction LuasLuas(p,l:integer ):integer;(p,l:integer ):integer;

 begin  begin   0uas:+pl;   0uas:+pl; end; end; {+++program utama+++} {+++program utama+++} var var   p&,lbr:integer;   p&,lbr:integer;  begin  begin   $lrs$r;   $lrs$r; 'riteln("rogram

'riteln("rogram #ntuk #ntuk eng*itung eng*itung luas luas persegipan&ang);persegipan&ang);   'riteln;

  'riteln;

'rite(asukan

'rite(asukan pan&ang pan&ang : : );readln(p&););readln(p&); 'rite(asukan

'rite(asukan lebar lebar : : );readln(lbr););readln(lbr); 'rite(0uasnya

'rite(0uasnya + + ,,LuasLuas(p&,lbr));(p&,lbr));   readln;   readln; end. end. 3 3 2 2 1 1

(18)

+ambar '1. Tampilan di 2ditor

+ambar '1. Tampilan di 2ditor Turbo Pascal,Turbo Pascal, Program

Program PersegipanPersegipanjangjang dengan #ungsidengan #ungsi

%ama seperti prosedur, untuk mengakses setiap #ungsi kita harus memanggil %ama seperti prosedur, untuk mengakses setiap #ungsi kita harus memanggil namanya. #ungsi juda dapat memiliki parameter, tetapi parameter yang terdapat dalam namanya. #ungsi juda dapat memiliki parameter, tetapi parameter yang terdapat dalam $ungsi selalu merupakan parameter masukan )

$ungsi selalu merupakan parameter masukan )input parameter input parameter *.*. Tipe 2asilTipe 2asil di dalam suatu di dalam suatu $ungsi merupakan tipe nilai balik )

$ungsi merupakan tipe nilai balik )returnreturn* * yang dyang diberikan iberikan oleh $uoleh $ungsi. ila ngsi. ila kita perkita perhatikanhatikan listin

listing g progrprogram am diatadiatas, s, terdaterdapat pat sebusebuah ah #ung#ungsi<si<FunctionFunction dendengan namagan nama LLuuaass yangyang

memiliki parameter

memiliki parameter p p dandan ll, sedangkan tipe nilai balik ), sedangkan tipe nilai balik )returnreturn* yang dihasilkan oleh $ungsi* yang dihasilkan oleh $ungsi terse

tersebut adalahbut adalah inte"er inte"er . Pada contoh diatas. Pada contoh diatas LuasLuas digunakan sebagai nama $ungsi, dan digunakan sebagai nama $ungsi, dan

di

didadalalam m $u$ungngsi si tetersrsebebutut,, LLuuaass digdigunaunakan kan sebsebagaagai i varvariabiabel el ununtuk tuk menmenampampung ung hashasilil

perhitungan pada $ungsi tersebut. perhitungan pada $ungsi tersebut.

 -pakah

 -pakah suatu suatu modul modul program program harus harus dibuat dibuat menjadi menjadi $ungsi $ungsi atau atau prosedur prosedur ,,  ja&abannya

 ja&abannya adalah adalah terserah terserah anda, anda, karena karena ini ini semua semua tergantung tergantung dari dari kebutuhan kebutuhan dandan kemampuan seorang programmer. amun biasanya $ungsi digunakan bila suatu modul kemampuan seorang programmer. amun biasanya $ungsi digunakan bila suatu modul program mengembalikan suatu nilai sedangkan prosedur digunakan untuk menghasilkan program mengembalikan suatu nilai sedangkan prosedur digunakan untuk menghasilkan sekumpulan aksi. %emoga tulisan ini dapat berman$aat bagi setiap pembacanya, bila ada sekumpulan aksi. %emoga tulisan ini dapat berman$aat bagi setiap pembacanya, bila ada kririk dan saran silahkan kirim ke

kririk dan saran silahkan kirim ke " rohmatgFyahoo.com." rohmatgFyahoo.com.

1; 1;

(19)

3e0erensi 4 3e0erensi 4

!! //ooggiiaanntto o GGaarrttoonnoo, , --, , PPhh. . DD.., , BBKonsKonsep ep asar Pemrograsar Pemrograman Ba2asa aman Ba2asa CCC, -ndiC, -ndi Hogyakarta, '00

Hogyakarta, '00

!! IIiinnaallddi i uunniirr, B, BAlgoritma dan Pemrograman dalam Ba2asa Pascal dan C Buku #Algoritma dan Pemrograman dalam Ba2asa Pascal dan C Buku # C,C, @n$ormatika andung, '005.

@n$ormatika andung, '005.

!! IIiinnaallddi i uunniirr, B, BAlgoritma dan Pemrograman dalam Ba2asa Pascal dan C Buku $Algoritma dan Pemrograman dalam Ba2asa Pascal dan C Buku $ C,C, @n$ormatika andung, '001.

@n$ormatika andung, '001.

!! @@rr. -. -bbdduul kl kaaddiirr, B, BPemrPemrograograman man PascPascal al !eng!enggunagunakan kan TurbTurbo o PascPascal al ).56B).56Borlanorlandd Pascal ).5 !emba2as Pemrograman Berorientasi 7bjek Buku $

Pascal ).5 !emba2as Pemrograman Berorientasi 7bjek Buku $C, -ndi Hogyakarta,C, -ndi Hogyakarta, '00'.

'00'.

3o2m

3o2mat at unauna8an8an, , aahihir r di di %u%ummeendndaanng g ! ! //aa&a &a ararat at ,, me

menanamamatktkan an pependndididikikan an mumulalai i dadari ri TKTK!%!%D!D!%%P!P!%%- - didi %u

%umemedadangng. . uululus s D D aananajejememen n inin$o$ormrmatatikika a %T%T@@K!DK!D@@ Tasikmalaya

Tasikmalaya Tahun '00Tahun '005. %aat ini sedang 5. %aat ini sedang menyelesaikan menyelesaikan studistudi %1

%1 di di /u/ururusasan n TeTeknknik ik @n@n$o$ormrmatatikika a (n(niviverersisitatas s %%ilili&i&anangigi Tasikmalaya.

Tasikmalaya. %a

%angangat t tertertartarik ik dendengagan n tekteknolnologi ogi in$in$ormormasi asi dan dan komkomputputer,er, ter

terutautama ma dendengagan n DatDatabaabasese, , >>P>>P, , ininuE, uE, Jeb Jeb ProProgragraminming,g, 

eett&&oorrkkiinng g jjuugga a --nniimmaassii. . DDaappaat t ddiihhuubbuunnggi i ddii rohmatgFyahoo.com

Referensi

Dokumen terkait

Tema sains dan interaksinya dengan teknologi dan masyarakat muncul paling sedikit dan tidak ditekankan pada buku biologi kelas X materi kingdom animalia yang

Umur memiliki peranan yang cukup penting misalnya umur pertama kali beranak sangat mempengaruhi produktivitas ternak tersebut sebab ternak yang dikawinkan pada

Dengan idealisme dan semangat untuk memberikan informasi yang objektif kepada masyarakat, Kelompok Kompas Gramedia (KG) mengkhususkan diri untuk bergerak di

Berdasarkan grafik (Gambar 5) berat lele dumbo mengalami peningkatan pada tiap perlakuan, namun terjadi peningkatan yang signifikan pada perlakuan dengan

Adanya kesatuan pemikiran yang baik antara karyawan dan pimpinan sangat diperlukan dalam rangka untuk menciptakan kondisi atau iklim kerja yang mendukung atas

Maksudnya, dan salah satu tanda keagungan Allah yang terang untuk mereka berfikir ialah malam; Kami hilangkan siang daripadanya, maka dengan serta-merta mereka berada

Sebagai tahap awal dari perancangan sistem kendali autoclave ini, maka akan dilakukan identifikasi sistem guna mendapatkan model sistem alat autoclave secara eksperimen

 Retribusi daerah adalah pungutan daerah sebagai pembayaran atas jasa atau pemberian izin tertentu yang khusus diberikan atau disediakan oleh pemerintah daerah