Anda di halaman 1dari 21

DASAR PEMROGRAMAN

PERTEMUAN 5.
Subprograms: Prosedur dan fungsi
Subprogram
• Bahasa pemrograman, khususnya C ++, tidak hanya
menyediakan serangkaian operasi dasar dan instruksi,
tetapi juga sarana untuk mendefinisikan operasi dan
instruksi kita sendiri
• Kita menyebut operasi dan pernyataan yang kita tetapkan
tersebut masing-masing sebagai fungsi dan prosedur
• Prosedur dan fungsi (subprogram) dapat memiliki
parameter. Parameter ini mewakili objek dari program kita
yang digunakan dalam subprogram.
Subprogram
• Fungsi didefinisikan sebagai berikut:
Subprogram
Subprogram
• Prosedur didefinisikan dengan cara yang sama, tetapi
tanpa memberikan hasil apa pun:
Subprogram
Subprogram
• Definisi subprogram dapat muncul sebelum atau setelah
program utama.
Subprogram
• Suatu fungsi hanya dapat digunakan jika dideklarasikan
sebelumnya. Suatu fungsi dapat dideklarasikan dan digunakan
sebelum kodenya ditentukan.
Subprogram
• Setelah suatu subprogram dideklarasikan, ia dapat digunakan.
- Fungsi digunakan sebagai operasi dalam ekspresi.
- Prosedur digunakan sebagai statment.
Subprogram
• Penggunaan subprogram yang tepat:
– Meningkatkan keterbacaan: program terstruktur lebih baik
dan lebih mudah dipahami.
– Memungkinkan penggunaan abstraksi dalam desain program.
– Memfasilitasi penggunaan kembali kode
• Mengevaluasi ekspresi.

berarti mengeksekusi kode times dengan parameter 3 dan i


+ 2 dan kemudian menambahkan 1 ke hasil yang
dikembalikan oleh fungsi.
Subprogram
• Mengevaluasi statement:

berarti mengeksekusi kode factors atas argument/parameter i.


Subprogram: melewati (passing) parameter
• Ketika subprogram dipanggil, argumen diteruskan ke subprogram,
sehingga kodenya dapat dijalankan:

• Setiap argumen harus memiliki tipe yang sama dengan


parameternya.
Subprogram: melewati (passing) parameter
• Secara umum, ekspresi apa pun bisa menjadi argumen dari
subprogram:
Subprogram: melewati (passing) parameter
• Objek (variabel) dikaitkan dengan nilai dan lokasi memori. Di C ++,
ada dua metode untuk melewati parameter:
– Melewati nilai (call-by-value). dilambangkan dengan hanya
mendeklarasikan tipe dan nama parameter.
– Melewati lokasi memori (call-by-reference). dilambangkan dengan
menambahkan simbol ”&” di sebelah tipe parameter.
Subprogram: melewati (passing) parameter
• Call-by-value membuat salinan argumen di awal subprogram. Hal ini sama
saja dengan memilikinya, suatu statement memberikan nilai dari setiap
argumen ke parameter yang sesuai:
Subprogram: melewati (passing) parameter
• Efek dari call-by-reference adalah bahwa parameter menjadi objek yang
sama (variabel) seperti argumen, yaitu parameter menjadi alias dari
argumen.
• Contoh: prosedur untuk menukar nilai dua variabel.
Subprogram: melewati (passing) parameter
Subprogram: melewati (passing) parameter
• Gunakan call-by-value untuk melewati parameter yang tidak boleh
dimodifikasi oleh subprogram.
• Gunakan call-by-reference saat perubahan yang dilakukan oleh subprogram
harus memengaruhi variabel yang terikat parameter.
• Dalam beberapa kasus, call-by-reference digunakan untuk menghindari
salinan objek besar, meskipun parameternya tidak dimodifikasi.
• Untuk mendefinisikan subprogram dengan dua bilangan bulat x dan y,
mengembalikan hasil bagi dan sisanya, kita dapat menulis:
Subprogram: melewati (passing) parameter
• Misalnya, jika parameter akan dilewatkan dengan referensi di
times fungsi, statement setelah eksekusi:

nilai a akan menjadi 0 dan nilai b akan menjadi 8 (dan nilai c akan
menjadi 8).
Subprogram: melewati (passing) parameter
• Misalnya, setelah definisi:

the statement exchange(a, b) tidak akan berpengaruh pada


a dan b.
Subprogram: melewati (passing) parameter
• Parameter call-by-value dapat menerima ekspresi apa pun sebagai argumen.
• Parameter call-by-reference hanya dapat diikat ke variabel.

Anda mungkin juga menyukai