Anda di halaman 1dari 20

Bab VIII Prosedur

BAB VIII PROSEDUR


1. PENDAHULUAN
Bab 8 dan bab 9 memiliki kompetensi dasar untuk memahami dan mengimplementasikan procedure dan function dengan memperhatikan parameter dan variabel-variabel yang akan dipakai. Ketika kita ingin membuat suatu program yang komplek kita dapat memanfaatkan konsep pemrograman modular yaitu masalah dibagi-bagi permodul untuk tiap permasalahan yang lebih spesifik. Procedure dan function di dalam algoritma memiliki perbedaan. !etapi di bahasa pemrograman "## semua disebut function dengan perbedaan sintak untuk membedakan antara fungsi sebagai procedure dan sebagai function yang dimaksud pada algoritma.

2. PENYAJIAN 2.1. Prosedur Dan Struktur Prosedur Prosedur adala !


$odul program yang menger%akan tugas & aktivitas yang spesifik dan menghasilkan suatu efek netto. 'uatu efek netto diketahui dengan membandingkan keadaan a(al dan keadaan akhir pada pelaksanaan sebuah prosedur.

"ende#$n$s$kan %rosedur $enuliskan nama prosedur $endeklarasikan nama-nama konstanta peubah dan tipe ) %ika ada *. $en%abarkan rangkaian yang dilakukan.

Struktur Prosedur ! +. Bagian ,udul ) header *. !erdiri atas Na&a %rosedur dan deklaras$ %ara&eter ' ($ka ada ). -. Bagian deklarasi. .ntuk mengumumkan nama-nama. /. Bagian deskripsi. 0isebut %uga *adan %rosedur. FAKULTAS TEKNIK UMSIDA 66

Bab VIII Prosedur

'etiap prosedur mempunyai nama yang unik. 1ama prosedur sebaiknya dia(ali dengan kata ker%a karena prosedur berisi suatu aktivitas misalnya 2itung3uas !ukar "ari$aks Inisialisasi 4ktifkan$enu dan lain sebagainya.

Para&eter adala ! 1ama- nama peubah yang dideklarasikan pada bagian header prosedur. Penggunaan parameter mena(arkan mekanisme pertukaran informasi antar prosedur ) atau fungsi *. !iap item data ditransfer antara Para&eter a+tual dan Para&eter #or&al yang bersesuaian. Para&eter a+tual ' ar,u&ent ) adala ! Parameter yang disertakan pada (aktu pemanggilan prosedur. Para&eter #or&al adala ! Parameter yang dideklarasikan di dalam bagian header prosedur itu sendiri. Ketika prosedur dipanggil parameter actual menggantikan parameter formal. !iap-tiap parameter actual berpasangan dengan parameter formal yang bersesuaian. -ara %e&an,,$lan %rosedur den,an %ara&eter adala ! 1amaProsedur)parameter aktual*

pendeklarasian parameter di dalam prosedur bukanlah keharusan. 0engan kata lain %ara&eter *ole ada atau t$dak ada.

FAKULTAS TEKNIK UMSIDA

67

Bab VIII Prosedur

Prosedur yang baik adalah Prosedur yang independent dari program pemanggilannya. Prosedur yang tidak menggunakan peubah-peubah global didalam badan prosedurnya. ,ika program utama perlu mengkomunikasikan nilai peubah global ke dalam prosedur maka ada satu cara untuk melakukannya yaitu dengan menggunakan parameter. Aturan .an, arus d$%er at$kan dala& kores%ondens$ satu/satu antara

%ara&eter a+tual dan %ara&eter #or&al adala ! +. ,umlah parameter actual pada pemanggilan prosedur harus sama dengan %umlah parameter formal pada deklarasi prosedurnya. -. !iap parameter actual harus bertipe sama dengan tipe parameter formal yang bersesuaian. /. !iap parameter actual harus diekspresikan dalam cara yang taat-asas dengan parameter formal yang bersesuaian parameter formal. Berdasarkan &aksud %en,,unaann.a0 ada 1 (en$s %ara&eter #or&al .an, d$sertakan ke dala& %rosedur ! +. Parameter masukan ) Input parameter *. Parameter yang nilainya berlaku sebagai masukan untuk prosedur. 0alam bahasa pemrograman istilah parameter masukan ini sering dinamakan %ara&eter n$la$ )value parameter atau parameter by value*. -. Parameter keluaran ) 5utput parameter*. Parameter yang menampung keluaran yang dihasilkan oleh prosedur. /. Parameter masukan & keluaran ) Input&5utput parameter *. Parameter yang berfungsi sebagai masukan sekaligus keluaran bagi prosedur tersebut. bergantung pada %enis

FAKULTAS TEKNIK UMSIDA

68

Bab VIII Prosedur

Pro,ra& den,an Prosedur atau 2an%a Prosedur3 'angat dian%urkan menulis program yang modular. Program yang dipecah men%adi beberapa prosedur ) fungsi * menun%ukan teknik pemrograman yang baik dan terstruktur.

Prosedur den,an Para&eter atau 2an%a Para&eter3 'angat dian%urkan menuliskan %rosedur den,an %ara&eter. Parameter berfungsi sebagai media komunikasi antara modul dengan program pemanggil. 'elain itu parameter dapat mengurangi kebutuhan penggunaan peubah global.

Para&eter "asukan atau Para&eter 4eluaran3 !ergantung pada kasus yang ada. Bila prosedur menghasilkan keluaran yang digunakan oleh program pemanggil gunakan %ara&eter keluaran untuk menampung keluaran tersebut. Bila prosedur tidak menghasilkan keluaran ataupun %ika ada dan keluaran tersebut hanya digunakan didalam prosedur itu sa%a maka gunakan %ara&eter &asukan. Bila prosedur menerima masukan sekaligus pengeluaran pada parameter yang sama gunakan %ara&eter &asukan 5 keluaran. 2.2. Pro+edure %ada Al,or$t&a

+. Prosedur !anpa Parameter -. Prosedur 0engan Parameter $asukan /. Prosedur 0engan Parameter Keluaran 6. Prosedur 0engan Parameter $asukan&Keluaran Prosedur 2an%a Para&eter %ada Al,or$t&a 1. -ara &e&an,,$l 'dar$ al,or$t&a5%ro,ra& uta&a) DEKLARASI Procedure namaprosedur DESKRIPSI namaprosedur FAKULTAS TEKNIK UMSIDA 69

Bab VIII Prosedur

2. -ara &end$#$n$s$kan! Procedure namaprosedur { kondisi awal : } { kondisi akhir : } DEKLARASI LOKAL DESKRIPSI

Prosedur Den,an Para&eter "asukan Pada Al,or$t&a 1. -ara &e&an,,$l! DEKLARASI Procedure namaprosedur(input namaparameter : type) DESKRIPSI namaprosedur(namaparameter) 2. -ara &ende#$n$s$kan! Procedure namaprosedur(input namaparameter : type) { kondisi awal : } { kondisi akhir : } DEKLARASI LOKAL DESKRIPSI

Prosedur Den,an Para&eter 4eluaran Pada Al,or$t&a 1. -ara &e&an,,$l! DEKLARASI Procedure namaprosedur(output namaparameter : type) DESKRIPSI namaprosedur(namaparameter) FAKULTAS TEKNIK UMSIDA 70

Bab VIII Prosedur

2. -ara &ende#$n$s$kan! Procedure namaprosedur(output namaparameter : type) { kondisi awal : } { kondisi akhir : } DEKLARASI LOKAL DESKRIPSI

Prosedur Den,an Para&eter "asukan54eluaran Pada Al,or$t&a 1. -ara &e&an,,$l! DEKLARASI Procedure namaprosedur(input/output namaparameter:type) DESKRIPSI namaprosedur(namaparameter) 2. -ara &ende#$n$s$kan! Procedure namaprosedur(input/output type) { kondisi awal : } { kondisi akhir : } DEKLARASI LOKAL DESKRIPSI namaparameter :

FAKULTAS TEKNIK UMSIDA

71

Bab VIII Prosedur

Be*era%a aturan 2ranslas$ Notas$ al,or$t&a %rosedur ke dala& Notas$ *a asa -66 ! +. Pendefinisian prosedur ditulis di luar *lok %ro,ra& uta&a 'main). Kecuali %ika direalisasikan sebagai file include. Prosedur sesuda u&u&n.a d$letakkan *lok &a$n'). 'edangkan deklaras$ %rosedur d$tul$s se*elu&

*lok &a$n') sebagai pur(arupa sa%a ) pur(arupa prosedur hanya berupa header dari prosedur tersebut * maka pendeklarasian pur(arupa prosedur tidak diperlukan lagi. -. 0alam bahasa " tidak dikenal istilah prosedur. 'emua modul program adalah fungsi. Prosedur adalah fungsi yang tidak mengembalikan nilai apapun. Karena itu return value untuk prosedur adalah void )yang artinya 7kosong8*. /. 0alam bahasa " bila prosedur tidak mempunyai parameter maka tanda kurung 7)7 dan 7*8 tetap ditulis setelah setelah nama prosedur tersebut. 6. 'emua parameter dalam bahasa " adalah parameter masukan. 5leh karena itu semua argument parameter actual dile(atkan sebagai 9 by value:. Ini artinya nilai parameter actual disalin ke parameter formal yang bersesuaian. 'uatu cara untuk memperoleh efek parameter keluaran maupun efek parameter masukan & keluaran adalah mele(atkan pointer terhadap parameter actual dengan menambahkan karakter 9;: di a(al nama parameter actual yang ber%enis parameter keluaran atau masukan & keluaran. !anda 9;: menyatakan alamat dari peubah. 'edangkan parameter formal yang ber%enis keluaran atau masukan & keluaran ditambahkan dengan karakter 9<: didepannya. !anda 9<: menyatakan operator indirect.

FAKULTAS TEKNIK UMSIDA

72

Bab VIII Prosedur

AL7ORI2"A
procedure NamaProsedur(deklarasi parameter,jika ada) {spesifikasi prosedur,berisi penjelasan tentang dilakukan oleh prosedur ini ! "wal : keadaan sebelum prosedur dilaksanakan ! "khir : kedaan setelah prosedur dilaksanakan } apa yang

DEKLARASI { semua nama yang dipakai didalam prosedur dan hanya berlaku lo#al didalam prosedur didefinisikan disini } DESKRIPSI : { badan prosedur, barisi urutan instruksi} "ara memanggil prosedur = NamaProsedur ,ika prosedur tidak mempunyai parameter atau NamaProsedur(parameter actual) ,ika prosedur mengandung parameter.

BAHASA -66
void NamaProsedur(deklarasi parameter,jika ada) $% &pesifikasi prosedur, berisi penjelasan tentang apa yang dila kukan oleh prosedur ini %$ $% ! "wal : keadaan sebelum prosedur dilaksanakan %$ $% ! "khir : keadaan setelah prosedur dilaksanakan %$ { $% '(!)"*"&+ %$ $% semua nama yang dipakai dalam prosedur dan hanya berlaku lok al di dalam prosedur didefinisikan di sini %$ $% '(&!*+P&+ %$ $% badan prosedur, berisi kumpulan instruksi %$ }

"ara memanggil prosedur = NamaProsedur( ); ,ika prosedur tidak mempunyai parameter

atau NamaProsedur(parameter actual); ,ika prosedur mengandung parameter.

FAKULTAS TEKNIK UMSIDA

73

Bab VIII Prosedur

1. -onto translas$ %rosedur tan%a %ara&eter AL7ORI2"A Prosedur =


procedure itun!LuasSe!iti!a { ,enghitung luas segitiga dengan rumus ) - (alas . tinggi)$/ } { ! "wal : sembarang } { ! "khir : luas segitiga ter#etak } DEKLARASI a"as tin!!i "uas : rii" : rii" : rii" { panjang alas segitiga, dalam #m } { tinggi segitiga, dalam #m } { luas segitiga, dalam #m/ }

DESKRIPSI read(a"as#tin!!i) "uas (a"as $ tin!!i)/% &rite("uas)

Program utama =
Algoritma Se!iti!a { ,enghitung luas N buah segitiga }

DEKLARASI i# ' : inte!er procedure itun!LuasSe!iti!a { ,enghitung luas segitiga dengan rumus ) -(alas . tinggi)$/ } DESKRIPSI: read(') { tentukan banyaknya segitiga } (or i ) to ' do itun!LuasSe!iti!a end(or

FAKULTAS TEKNIK UMSIDA

74

Bab VIII Prosedur

Ba asa -5 -66 den,an $n+lude 8std$o. 9 !


$% 'eklarasi purwarupa prosedur yang digunakan %$ *oid itun!LuasSe!iti!a()+ main() { $% '(!)"*"&+ %$ int i# '+ $% P*01*", 23"," %$ print((,-anya.nya se!iti!a/ ,)+ scan((,0d,#1')+ (or(i2)+i32'+i44) itun!LuasSe!iti!a()+ $%endfor%$ return 5+ } *oid itun!LuasSe!iti!a() $% ,enghitung luas segitiga dengan rumus ) -(alas . tinggi)$/ %$ $% ! "wal : sembarang %$ $% ! "khir : luas segitiga ter#etak %$ { $%'(!)"*"&+ )0!")%$ ("oat a"as+ $% panjang alas segitiga, dalam #m %$ ("oat tin!!i+ $% tinggi segitiga, dalam #m %$ ("oat "uas+ $% luas segitiga, dalam #m/ %$ $%'(&!*+P&+%$ print((,6nPan7an! a"as se!iti!a/ ,)+ scan((,0(,#1a"as)+ print((,8in!!i se!iti!a/ ,)+ scan((,0(,#1tin!!i)+ "uas 2 ( a"as $ tin!!i )/%+ print((,Luas se!iti!a 2 09:%(6n,#"uas)+

FAKULTAS TEKNIK UMSIDA

75

Bab VIII Prosedur

Ba asa -66 den,an $n+lude 8$ostrea&. 9!

$% Program &egitiga %$ $% ,enghitung luas N buah segitiga ;inc"ude 3iostream:<=

%$

$% 'eklarasi purwarupa prosedur yang digunakan %$ void itun!LuasSe!iti!a()+ void main() { $% '(!)"*"&+ %$ int i# '+ $% P*01*", 23"," %$ cout 33 ,-anya.nya se!iti!a/ ,+ cin == '+ (or(i2)+i32'+i44) itun!LuasSe!iti!a()+ $%endfor%$ } void itun!LuasSe!iti!a() $% ,enghitung luas segitiga dengan rumus )-(alas . tinggi)$/ %$ $% ! "wal : sembarang %$ $% ! "khir : luas segitiga ter#etak %$ { $%'(!)"*"&+%$ float a"as+ $% panjang alas segitiga, dalam #m %$ float tin!!i+ $% tinggi segitiga, dalam #m %$ float "uas+ $% luas segitiga, dalam #m/ %$ $%'(&!*+P&+%$ cout 33 ,6nPan7an! a"as se!iti!a/ ,+ cin == a"as + cout 33 ,8in!!i se!iti!a/ ,+ cin == tin!!i+ "uas 2 (a"as $ tin!!i)/%+ cout 33 ,Luas 2 , 33 "uas 33 end"+ }

FAKULTAS TEKNIK UMSIDA

76

Bab VIII Prosedur

2. -onto translas$ %rosedur den,an %ara&eter &asukan AL7ORI2"A ! Prosedur =


procedure itun!LuasSe!iti!a(input a"as# tin!!i : rii") { ,enghitung luas segitiga dengan rumus ) - (alas . tinggi)$/ } { ! "wal : alas dan tinggi sudah terdefinisi nilainya } { ! "khir : luas segitiga ter#etak } DEKLARASI "uas : rii" { luas segitiga, dalam #m/ }

DESKRIPSI "uas (a"as $ tin!!i)/% &rite("uas)

Program utama =
Algoritma Se!iti!a { ,enghitung luas N buah segitiga

DEKLARASI i# ' : inte!er a# t : rii" procedure itun!LuasSe!iti!a(input a"as# tin!!i : rii") { ,enghitung luas segitiga dengan rumus ) -(alas . tinggi)$/ } DESKRIPSI: read(') { tentukan banyaknya segitiga } (or i ) to ' do read(a#t) itun!LuasSe!iti!a(a#t) end(or

FAKULTAS TEKNIK UMSIDA

77

Bab VIII Prosedur

Ba asa -5 -66 den,an $n+lude 8std$o. 9 !


$% Program &egitiga %$ $% ,enghitung luas N buah segitiga %$ ;inc"ude 3stdio:<= $% 'eklarasi purwarupa prosedur yang digunakan %$ void itun!LuasSe!iti!a(float a# float t)+ main() { $% '(!)"*"&+ %$ int i# '+ float a# t+ $% P*01*", 23"," %$ print((,-anya.nya se!iti!a/ ,)+ scan((,0d,#1')+ (or(i2)+i32'+i44) { print((,6nPan7an! a"as se!iti!a/ ,)+ scan((,0(,#1a)+ print((,8in!!i se!iti!a/ ,)+ scan((,0(,#1t)+ itun!LuasSe!iti!a(a#t)+ } } void itun!LuasSe!iti!a(float a"as# float tin!!i) $% ,enghitung luas segitiga dengan rumus ) -(alas . tinggi)$/ %$ $% ! "wal : alas dan tinggi sedah terdefinisi nilainya %$ $% ! "khir : luas segitiga ter#etak %$ { $%'(!)"*"&+%$ float "uas+ $% luas segitiga, dalam #m/ %$ $%'(&!*+P&+%$ "uas 2 ( a"as $ tin!!i )/%:5+ print((,Luas se!iti!a 2 09:%(6n,#"uas)+ }

FAKULTAS TEKNIK UMSIDA

78

Bab VIII Prosedur

Ba asa -66 den,an $n+lude 8$ostrea&. 9 !

$% Program &egitiga %$ $% ,enghitung luas N buah segitiga ;inc"ude 3iostream:<=

%$

$% 'eklarasi purwarupa prosedur yang digunakan %$ void itun!LuasSe!iti!a(float a# float t)+ void main() { $% '(!)"*"&+ %$ int i# '+ float a# t+ $% P*01*", 23"," %$ cout 33 ,-anya.nya se!iti!a/ ,+ cin == '+ (or(i2)+i32'+i44) { cout 33 ,6nPan7an! a"as se!iti!a/ ,+ cin == a+ cout 33 ,8in!!i se!iti!a/ ,+ cin == t+ itun!LuasSe!iti!a(a#t)+ } } void itun!LuasSe!iti!a(float a"as# float tin!!i) $% ,enghitung luas segitiga dengan rumus )-(alas . tinggi)$/ %$ $% ! "wal : alas dan tinggi sedah terdefinisi nilainya %$ $% ! "khir : luas segitiga ter#etak %$ { $%'(!)"*"&+%$ float "uas+ $% luas segitiga, dalam #m/ %$ $%'(&!*+P&+%$ "uas 2 ( a"as $ tin!!i )/%+ cout 33 ,Luas2, 33 "uas 33 end"+ }

1. -onto translas$ %rosedur den,an %ara&eter keluaran FAKULTAS TEKNIK UMSIDA 79

Bab VIII Prosedur

AL7ORI2"A ! Prosedur =
procedure itun!LuasSe!iti!a(input a"as# tin!!i : rii"# output "uas : rii") { ,enghitung luas segitiga dengan rumus ) - (alas . tinggi)$/ } { ! "wal : alas dan tinggi sudah terdefinisi nilainya } { ! "khir : luas berisi luas segitiga } DEKLARASI { tidak ada } DESKRIPSI "uas (a"as $ tin!!i)/%

Program utama =
Algoritma Se!iti!a { ,enghitung luas N buah segitiga } DEKLARASI i# ' : inte!er a# t : rii" L : rii" { luas segitiga } procedure itun!LuasSe!iti!a(input a"as# tin!!i : rii") { ,enghitung luas segitiga dengan rumus ) - (alas tinggi)$/ } DESKRIPSI: read(') { tentukan banyaknya segitiga } (or i ) to ' do read(a#t) itun!LuasSe!iti!a(a#t#L) >rite(L) end(or

Ba asa - 5 -66 den,an $n+lude 8std$o. 9 !


$% Program &egitiga %$ $% ,enghitung luas N buah segitiga %$

FAKULTAS TEKNIK UMSIDA

80

Bab VIII Prosedur

;inc"ude 3stdio:<= $% 'eklarasi purwarupa prosedur yang digunakan %$ void itun!LuasSe!iti!a(float a# float t# float $L)+ main() { $% '(!)"*"&+ %$ int i# '+ float a# t+ float L+ $% luas segitiga, dalam #m/ %$ $% P*01*", 23"," %$ print((,-anya.nya se!iti!a/ ,)+ scan((,0d,#1')+ (or(i2)+i32'+i44) { print((,6nPan7an! a"as se!iti!a/ ,)+ scan((,0(,#1a)+ print((,8in!!i se!iti!a/ ,)+ scan((,0(,#1t)+ itun!LuasSe!iti!a(a#t# 1L)+ print((,Luas se!iti!a 2 09:%(6n ,#L)+ } } void itun!LuasSe!iti!a(float a"as# float tin!!i# float $"uas) $% ,enghitung luas segitiga dengan rumus ) -(alas . tinggi)$/ %$ $% ! "wal : alas dan tinggi sedah terdefinisi nilainya %$ $% ! "khir : luas segitiga ter#etak %$ { $%'(!)"*"&+%$ $%'(&!*+P&+%$ $"uas 2 ( a"as $ tin!!i )/%+ }

FAKULTAS TEKNIK UMSIDA

81

Bab VIII Prosedur

Ba asa -66 den,an $n+lude 8$ostrea&. 9 ! !


$% Program &egitiga %$ $% ,enghitung luas N buah segitiga ;inc"ude 3iostream:<= $% 'eklarasi purwarupa prosedur yang digunakan %$ void itun!LuasSe!iti!a(float a# float t# float *L)+ void main() { $% '(!)"*"&+ %$ int i# '+ float a# t+ float L+ $% luas segitiga, dalam #m/ %$ $% P*01*", 23"," %$ cout 33 ,-anya.nya se!iti!a/ ,+ cin == '+ (or(i2)+i32'+i44) { cout 33 ,6nPan7an! a"as se!iti!a/ ,+ cin == a+ cout 33 ,8in!!i se!iti!a/ ,+ cin == t+ itun!LuasSe!iti!a(a#t# &L )+ cout 33 ,Luas se!iti!a 2 , 33 L 33 end"+ }

%$

void itun!LuasSe!iti!a(float a"as# float tin!!i# float *luas) $% ,enghitung luas segitiga dengan rumus )-(alas . tinggi)$/ %$ $% ! "wal : alas dan tinggi sedah terdefinisi nilainya %$ $% ! "khir : luas segitiga ter#etak %$ { $%'(!)"*"&+%$ $%'(&!*+P&+%$ *luas 2 ( a"as $ tin!!i )/%+ >

FAKULTAS TEKNIK UMSIDA

82

Bab VIII Prosedur

:. -onto translas$ %rosedur den,an %ara&eter &asukan 5 keluaran AL7ORI2"A ! Prosedur =


procedure 8u.ar(input/output A#? : inte!er) { ,empertukarkan nilai " dan 4 } { ! "wal : nilai " dan 4 sudah terdefinisi } { ! "khir : " berisi nilai 4, 4 berisi nilai " semula DEKLARASI temp : inte!er { peubah 4antu }

DESKRIPSI temp A { simpan nilai " ke dalam temp } A ? { isikan nilai 4 ke dalam " } ? temp { isikan nilai temp ke dalam 4 }

Program utama =
Algoritma Se"isi<@A {Prog untuk menghitung selisih nilai 5 dan 6,dengan syarat 5 7 6 jika 5 8 6,ma ka 5 dan 6 dipertukarkan dengan memanggil prosedur 3ukar } DEKLARASI @# A# B : inte!er procedure 8u.ar(input/output A#? : inte!er) { mempertukarkan nilai " dan 4 } DESKRIPSI: read(@#A) { ba#a nilai 5 dan 6 terlebih dahulu } {9ika 5 8 6, pertukaran nilai 5 dan 6 dengan memanggil prosedur 3ukar } I( @ 3 A t<en 8u.ar(@#A) endi( B @ C A { hitung selisih . dan 6 } &rite(B)

FAKULTAS TEKNIK UMSIDA

83

Bab VIII Prosedur

Ba asa - 5 -66 den,an $n+lude 8std$o. 9 !


$% P*01*", &elisih56 %$ $% {Prog utama untuk menghitung selisih nilai 5 dan 6,dengan syarat 5 7 6 jika 5 8 6,maka 5 dan 6 dipertukarkan dengan memanggil prosedur 3ukar } %$ ;inc"ude 3stdio:<= void 8u.ar(int $@# int $A) $% ,empertukarkan nilai 5 dan 6 %$ main() { $% '(!)"*"&+ %$ int @# A# B+ $% P*01*", 23"," %$ print((D@ 2 /E)+ scan((D0dE#1@)+ print((DA 2 /E)+ scan((D0dE#1A)+ $% jika 5 8 6,pertukaran nilai 5 dan 6 dengan memanggil prosedur 3ukar %$ i((@ 3 A) 8u.ar(1@#1A)+ $%endif%$ B 2 @ C A+ $% hitung selisih 5 dan 6 %$ print((DB 2 0d 6nE#B)+ } void 8u.ar(int $A# int $?) $% ,empertukarkan nilai 4 dan 4 %$ $% ! "wal : nilai " dan 4 sudah terdefinisi %$ $% ! "khir : " berisi nilai 4, 4 berisi nilai " semula { $%'(!)"*"&+%$ int temp+ $% peubah 4antu %$ $%'(&!*+P&+%$ temp 2 $A+ $% simpan nilai " didalam temp %$ $A 2 $?+ $% isi " dengan nilai 4 %$ $? 2 temp+ $% isi 4 dengan nilai temp %$ }

%$

FAKULTAS TEKNIK UMSIDA

84

Bab VIII Prosedur

Ba asa -66 den,an $n+lude 8$ostrea&. 9 !!

$% P*01*", &elisih56 %$ $% {Prog utama untuk menghitung selisih nilai 5 dan 6,dengan syarat 5 7 6 jika 5 8 6,maka 5 dan 6 dipertukarkan dengan memanggil prosedur 3ukar } %$ ;inc"ude 3iostream:<= void 8u.ar(int $@# int $A)+ $% ,empertukarkan nilai 5 dan 6 %$ void main() { $% '(!)"*"&+ %$ int @# A# B+ $% P*01*", 23"," %$ cout 33 E@ 2 /E+ cin == @+ cout 33 EA 2 /E+ cin == A+ $% jika 5 8 6,pertukaran nilai 5 dan 6 dengan memanggil prosedur 3ukar %$ i((@ 3 A) 8u.ar(1@#1A)+ $%endif%$ B 2 @ C A+ $% hitung selisih 5 dan 6 %$ cout 33 B + } void 8u.ar(int $A# int $?) $% ,empertukarkan nilai 4 dan 4 %$ $% ! "wal : nilai " dan 4 sudah terdefinisi %$ $% ! "khir : " berisi nilai 4, 4 berisi nilai " semula { $%'(!)"*"&+%$ int temp+ $% peubah 4antu %$ $%'(&!*+P&+%$ temp 2 $A+ $% simpan nilai " didalam temp %$ $A 2 $?+ $% isi " dengan nilai 4 %$ $? 2 temp+ $% isi 4 dengan nilai temp %$ }

%$

1. PENU2UP 3atihan Buatlah program dengan menggunakan procedure untuk menghitung volume silinder )dengan berbagai bentuk parameter*.

FAKULTAS TEKNIK UMSIDA

85

Anda mungkin juga menyukai