• Tidak ada hasil yang ditemukan

SUBPROGRAM DAN FUNGSISUBPROGRAM DAN FUNGSI

Dalam dokumen Pemrograman-1 (Halaman 71-77)

SUBPROGRAM DAN FUNGSI

7.1. Tujuan 7.1. Tujuan

a. Mahasiswa mampu membedakan fungsi dengan nilai balik dan fungsi tanpa nilai balik  a. Mahasiswa mampu membedakan fungsi dengan nilai balik dan fungsi tanpa nilai balik   b.

 b. Mahasiswa mampu Mahasiswa mampu mengimplementasikan mengimplementasikan rekursi dalam rekursi dalam kasus pkasus programrogram

7.2. Teori 7.2. Teori

Dalam C++ program merupakan kumpulan dari fungsi-fungsi, baik itu yang didefinisikan Dalam C++ program merupakan kumpulan dari fungsi-fungsi, baik itu yang didefinisikan la

langsungsung ng daldalam am progprogram maupun ram maupun yang yang didisimsimpan pan daldalam am suasuatu tu fifile le heaheader. der. C++ C++ sensendirdirii mem

mempunypunyai ai funfungsi utamgsi utama a yang disebyang disebut fungsi maiut fungsi main(). n(). FunFungsi main(gsi main() ) inini i selselalu alu ada ada daldalamam set

setiap iap progprograram m C++ C++ dan dan komkompilpiler er akaakan n memenjalnjalankaankan n progprograram m melmelalui alui perperintintah-ah-periperintahntah yang terdapat dalam fungsi ini.

yang terdapat dalam fungsi ini.

Fungsi merupakan subprogram dan berguna untuk menjadikan program dapat lebih bersifat Fungsi merupakan subprogram dan berguna untuk menjadikan program dapat lebih bersifat modular sehingga akan mudah dipahami dan dapat digunakan kembali, baik untuk program modular sehingga akan mudah dipahami dan dapat digunakan kembali, baik untuk program itu sendir

itu sendiri i maupun untuk program lain maupun untuk program lain yang memilyang memiliki iki proses yang sama.proses yang sama.

Sebuah fungsi berisi sejumlah pernyataan yang dikemas dalam sebuah nama. Selanjutnya Sebuah fungsi berisi sejumlah pernyataan yang dikemas dalam sebuah nama. Selanjutnya na

nama ma inini i dapdapat at didipanpanggggil il bebeberberapapa a kalkali i di di bebeberberapapa a tetempmpat at dadalalam m proprogragram. m. FuFungsngsii mem

memudahkan dalam udahkan dalam mengemmengembangkan program dan bangkan program dan menghemenghemat ukuran mat ukuran programprogram..

7.3 Fungsi Pertama 7.3 Fungsi Pertama

Pada contoh yang pertama kita akan menghitung luas lingkaran dengan menggunakan Pada contoh yang pertama kita akan menghitung luas lingkaran dengan menggunakan sebuah fungs

Gambar 7.1. Fungsi Pertama Gambar 7.1. Fungsi Pertama

Fu

Fungsngsi i getgetArAreaea() () sesebebelulumnmnya ya di di dedefifininisisikan kan teterlrlebebih ih dahdahululu, u, yayaititu u beberirisi si rurumumus s luluasas lingkaran. Dengan kemudian dipanggil pada fungsi main. Penjelasannya dapat dilihat pada lingkaran. Dengan kemudian dipanggil pada fungsi main. Penjelasannya dapat dilihat pada Gamba

Gambar r 7.27.2

Gambar 7.2. Penjelasan Fungsi Gambar 7.2. Penjelasan Fungsi

7.4

7.4 PenjelPenjelasan asan FungsiFungsi 7.4.1 Definisi Fungsi 7.4.1 Definisi Fungsi

Bentuk fungsi secara umum dapat dibuat sebagai berikut: Bentuk fungsi secara umum dapat dibuat sebagai berikut:

returnValueType functionName

returnValueType functionName ((parameterListparameterList) ) {{

functionBody functionBody;; }

}

  parameterList  berisi daftar parameter yang dipisahka  parameterList  berisi daftar parameter yang dipisahkan n dengan koma.dengan koma.

  returnValueType   mer  returnValueType  merupupakaakan n titipe pe kekembmbalalian ian dardari i fufungngsisi. . JiJika ka fufungsngsi i memempmpununyaiyai kem

kembalibalian an mamaka ka retreturnurnValValueTyueType pe nynya a mermerupakupakan an sebsebuah uah titipe pe data data kemkembalbalian, ian, jijikaka tidak mempunyai kembalian maka returnValueType nya void

tidak mempunyai kembalian maka returnValueType nya void

7.4.2 Pernyataan

7.4.2 Pernyataan “return“return””

Jik

Jika a fungsfungsi i memimemiliki liki sessesuatu kembalian maka uatu kembalian maka didaldidalam am fungsfungsinya inya wajiwajib b ada sintaks returnada sintaks return yang akan mengembalikan sebuah ekspresi sesuai dengan

yang akan mengembalikan sebuah ekspresi sesuai dengan returnValueType returnValueType nya. nya. return

return  expression;  expression; 7.4.3 Prototipe Fungsi 7.4.3 Prototipe Fungsi

Pada Gambar 6.1 di baris kode ke 6 terdapat sebuah prototipe fungsi. Pada C++ fungsi harus Pada Gambar 6.1 di baris kode ke 6 terdapat sebuah prototipe fungsi. Pada C++ fungsi harus di

di dekldeklarasiarasikan kan terlterlebih ebih dahuldahulu u sebelsebelum um dipanggidipanggil. l. Bentuk prototiBentuk prototipe pe fungsfungsi i secarsecara a umumumum adalah sebagai berikut:

adalah sebagai berikut:

returnValueType functionName

returnValueType functionName ((parameterListparameterList))

Contoh lain dari prototipe fungsi dapat dilihat pada potongan kode di Gambar 7.3 berikut. Contoh lain dari prototipe fungsi dapat dilihat pada potongan kode di Gambar 7.3 berikut. Protipe fungsi berada pada baris kode ke 4 yaitu fungsi maximum.

Gambar 7.3. Contoh Fungsi Prototipe Gambar 7.3. Contoh Fungsi Prototipe

7.5 Fungsi Tanpa Kembalian (Void) 7.5 Fungsi Tanpa Kembalian (Void)

Fu

Fungngsi si dadapapat t jjuguga a titidadak k mmememililikiki i nnililai ai kekemmbaballiian. an. FuFungngsi si iini ni hahanynya a mmenenjjalalanankakann ser

serangkangkaiaian an operoperasi asi tantanpa pa perperlu lu adaadanya nya kemkembalbalian ian ke ke pempemanggianggilnylnya. a. ContContoh oh funfungsi gsi voivoidd dapat dilihat pada Gambar 6.4 berikut. Pada potongan kode di Gambar 7.4 tersebut juga dapat dilihat pada Gambar 6.4 berikut. Pada potongan kode di Gambar 7.4 tersebut juga diperlihatkan bahwa fungsi tidak wajib memiliki prototipe jika definisi fungsi diletakkan di diperlihatkan bahwa fungsi tidak wajib memiliki prototipe jika definisi fungsi diletakkan di atas blok program main atau pemanggil fungsinya.

atas blok program main atau pemanggil fungsinya.

Gambar 7.4. Fungsi Void Gambar 7.4. Fungsi Void

7.6

7.6 PenggunaaPenggunaan n ParameParameterter

Terdap

Terdapat dua at dua cara parameter dapat diberikan kepada sebuah cara parameter dapat diberikan kepada sebuah fungsi yaitu dengan pass byfungsi yaitu dengan pass by value, atau dengan pass by reference.

value, atau dengan pass by reference.

7.6.1 Pass By Value 7.6.1 Pass By Value

Di dalam pass by value parameter diberikan tanpa merubah nilai dari nilai atau variabel Di dalam pass by value parameter diberikan tanpa merubah nilai dari nilai atau variabel aslinya. Parameter yang berada di dalam fungsi adalah sebuah “copy” nilai dari nilai yang aslinya. Parameter yang berada di dalam fungsi adalah sebuah “copy” nilai dari nilai yang diberikan pada pemanggil fungsinya. Untuk dapat lebih jelasnya dapat dilihat pada potongan diberikan pada pemanggil fungsinya. Untuk dapat lebih jelasnya dapat dilihat pada potongan kode pada Gambar 7.5 berikut.

kode pada Gambar 7.5 berikut.

Gambar 7.5. Pass By Value Gambar 7.5. Pass By Value

7.6.2 Pass By Reference 7.6.2 Pass By Reference

Di dalam

Di dalam pass by pass by referreference variabel yang ence variabel yang dijdijadikan adikan paramparameter pada eter pada saat pemanggisaat pemanggilan lan fungsifungsi akan ikut terubah nilai

akan ikut terubah nilainya. nya. Untuk dapat lebih jelas dapat dilihat pada potongan kodeUntuk dapat lebih jelas dapat dilihat pada potongan kode

Gambar 7.6. Potongan kode tersebut hampir serupa dengan potongan kode pada Gambar 6.5, Gambar 7.6. Potongan kode tersebut hampir serupa dengan potongan kode pada Gambar 6.5, hanya berbeda pada definisi parameter yang menggunakan tanda reference (&). Jika

hanya berbeda pada definisi parameter yang menggunakan tanda reference (&). Jika dieksekusi variabel n akan ikut terubah setelah pemanggilan fungsi inc.

Gambar 7.6. Pass By Reference Gambar 7.6. Pass By Reference

BAB VIII

BAB VIII

Dalam dokumen Pemrograman-1 (Halaman 71-77)