Anda di halaman 1dari 33

PROCEDURE AND FUNCTION

Algoritma Pemrograman
Subprogram

• Sebuah program yang besar dan memiliki banyak tahapan akan relatif
lebih sulit ditangani, dimengerti, dan dilacak apabila terdapat kesalahan
atau eror; Sehingga ada baiknya program yang besar dapat disusun
menjadi beberapa subprogram (berupa program yang lebih kecil).
• Subprogram yang baik adalah subprogram yang tidak tergantung
dengan program utamanya, sehingga subprogram tersebut dapat dipakai
oleh program-program lain.
• Teknik pemecahan program menjadi sejumlah subprogram disebut
Teknik Pemrograman Modular (Modular Programming). Beberapa
program yang disebut subprogram diantaranya sub-rutin (subroutine),
modul, prosedur, atau fungsi.
Ilustrasi Teknik Pemrograman modular
Prosedur dan Fungsi
• Terdapat dua bentuk subprogram, yaitu prosedur (procedure) dan
fungsi (function).
• Prosedur adalah sub program yang melakukan aktivitas spesifik,
menerima masukan tetapi tidak memberikan luaran secara
langsung.
• Sedangkan fungsi adalah subprogram yang menerima masukan
dan menghasilkan luaran secara langsung. Keduanya memiliki struktur
program yang sama seperti program pada umumnya, yaitu bagian
judul (header) berisi nama, deklarasi, dan badan program yang berisi
instruksi yang akan dilaksanakan.
Fungsi
Pendefinisian dan Pemanggilan Fungsi
Secara umum struktur fungsi sama dengan struktur algoritma pada
umumnya, terdiri dari :
1) Bagian header, berisi nama fungsi beserta parameter formal
2) Bagian deklarasi, berisi nama-nama peubah (variabel), tipe,
konstanta, dan sebagainya yang digunakan di dalam badan fungsi
3) Badan fungsi, berisi rangkaian instruksi yang mengolah data
masukan menjadi luaran
Pendefinisian dan Pemanggilan Fungsi
Pendefinisian dan Pemanggilan Fungsi
• Pemanggilan fungsi dengan cara menulis nama fungsi tersebut
pada program utama.
• Fungsi dapat disimpan di dalam file terpisah atau disatukan di
dalam satu file dengan program utama pemanggil.
• Bahasa permograman C++ memfasilitasi mekanisme menuliskan
fungsi dalam program utama.
Fungsi Tanpa Nilai Balik
• Fungsi tanpa nilai balik dikenal juga sebagai prosedur dalam Bahasa
C++, karena dalam Bahasa C++ tidak mengenal istilah prosedur.
• Untuk membuat prosedur dalam Bahasa C++ adalah dengan cara
mendeklarasikan fungsi dengan type void, yang berarti fungsi tanpa
nilai balik (return value). Sebagai contoh kita akan membuat fungsi
untuk menampilkan tulisan sebanyak 10 kali.
Fungsi Tanpa Nilai Balik
Fungsi Tanpa Nilai Balik
Fungsi dengan Nilai Balik
• Fungsi dengan nilai balik berguna untuk melakukan suatu proses yang
dapat mengembalikan sebuah nilai, karena memberikan nilai balik
maka kita harus mendefinisikan tipe data dari nilai yang akan
dikembalikan. Sedangkan untuk pemanggilan fungsi dengan nilai
balik adalah sama dengan fungsi tanpa nilai balik, tetapi dengan
menambah perintah cout.
Fungsi dengan Nilai Balik
Fungsi dengan Nilai Balik
Variabel Global dan Variabel Lokal
• Variabel lokal adalah nama-nama konstanta, peubah, tipe, dan lain-
lain yang dideklarasikan di dalam fungsi, sehingga hanya dikenali oleh
fungsi itu saja. Sedangkan nama-nama konstanta, peubah, tipe,
dan lain-lain yang dideklarasikan dalam program utama dikatakan
Variabel Global, perbedaannya adalah untuk variabel global dapat
diakses oleh program utama dan fungsi yang dipanggil.
• Kapan menggunakan variabel global atau variabel lokal adalah
bergantung pada penggunaan peubah tersebut. Apabila akan
digunakan dalam fungsi dan program utama, maka harus
dideklarasikan sebagai variabel global. Sebaliknya jika hanya
digunakan dalam fungsi saja, maka dideklarasikan sebagai variabel
lokal saja.
Parameter Formal dan Aktual
• Penggunaan parameter bermanfaat jika program memerlukan
pertukaran informasi antara fungsi dan titik dimana parameter
tersebut dipanggil.
• Penggunaan parameter menawarkan mekanisme pertukaran
informasi tersebut.
• Parameter yang dideklarasikan di dalam header fungsi disebut
parameter formal, sedangkan parameter yang disertakan pada
pemanggilan fungsi disebut parameter aktual.
• Fungsi dengan parameter formal diakses dengan cara memanggil
nama fungsi dari program utama pemanggil disertai parameter
aktualnya.
Parameter Formal dan Aktual

Beberapa aturan yang harus diperhatikan dalam menghubungkan antara parameter


aktual dan parameter formal adalah
1) Jumlah parameter aktual pada pemanggilan fungsi harus sama dengan
jumlah parameter formal pada deklarasi fungsinya.
2) Tiap parameter aktual harus bertipe sama dengan tipe parameter formal yang
bersesuaian.
3) Tiap parameter aktual harus diekspresikan dalam cara yang taat asas
dengan parameter formal yang bersesuaian, bergantung pada jenis parameter
formal.
Parameter Formal dan Aktual
• Terdapat tiga jenis parameter formal di dalam fungsi, parameter
masukan (input parameter), parameter luaran (output parameter),
dan parameter masukan/luaran (input/output parameter).
1) Parameter masukan
• Parameter masukan adalah parameter yang nilainya berlaku sebagai
masukan untuk fungsi, sehingga ketika fungsi dipanggil maka nilai
(value) parameter actual diisikan (assignment) ke dalam parameter
formal yang bersesuaian.
• Sebagai contoh program menghitung luas persegi dengan parameter
masukan:
1) Parameter masukan
1) Parameter masukan
• Pada variabel panjang dan lebar sudah harus berisi nilai sebelum memasuki
badan fungsi. Nilai ini diperoleh dari parameter actual (variabel p dan l)
pada saat pemanggilan fungsi. Ketika fungsi “luaspersegipanjang”
dipanggil, nilai-nilai dari parameter actual ditransfer ke parameter
masukan ini. Sehingga pada saat pemanggilan fungsi
“luaspersegipanjang” dengan instruksi:

• maka terjadi pemanggilan fungsi, dimana nilai p akan ditransfer ke peubah


panjang dan nilai l akan ditransfer ke peubah lebar, sehingga panjang = p
dan lebar = l.
1) Parameter masukan
• Parameter aktual dapat berupa peubah asalkan nilai peubah sudah
terdefinisi sebelumnya.
• Nama parameter aktual boleh tidak sama dengan nama parameter
formal asalkan tipe datanya sama.
• Contoh variabel p,l (parameter actual) bertipe float (sama seperti
tipe panjang dan lebar pada parameter formal).
• Nilai p dan l sudah diisi sebelum memanggil fungsi.
2) Parameter luaran
• Parameter luaran adalah parameter yang menampung luaran yang
dihasilkan oleh fungsi.
• Apabila parameter masukan mentransfer nilai (transfer by value)
parameter aktual ke parameter formal, maka parameter luaran
mentransfer referensi nama (transfer by reference). Sehingga
Ketika fungsi dengan parameter luaran dipanggil, maka nama
parameter aktual akan menggantikan (subtitute) nama parameter
formal yang bersesuaian.
• Di akhir fungsi nama tersebut akan berisi suatu nilai yang menjadi
luaran dari fungsi tersebut.
2) Parameter luaran
• Fungsi di atas telah kita modifikasi dengan parameter luaran,
sehingga Luas Persegi Panjang (luas) dinyatakan sebagai
parameter luaran. Maka selanjutnya mencetak luas harus dipanggil
pada program pemanggil (program utama). Sehingga program
pada Gambar 5 merupakan fungsi yang menerima masukan
berupa panjang dan lebar serta untuk menghasilkan luaran berupa
luas.
2) Parameter luaran
• Hal yang harus diperhatikan adalah bahwa parameter luaran
harus peubah, tidak boleh konstanta atau ekspresi.
• Contoh pemanggilan parameter luaran yang salah :
3) Parameter masukan/luaran
• Parameter masukan/luaran adalah parameter yang berfungsi sebagai
masukan sekaligus luaran bagi fungsi tersebut, penggunaan parameter ini
adalah pada saat program harus dapat mengakomodasi baik masukan dari dan
luaran ke program pemanggil. Sehingga ketika fungsi yang mengandung
parameter masukan/luaran dipanggil, maka referensi parameter aktual
menggantikan (subtitute) nama parameter formal yang bersesuaian di dalam
fungsi. Begitu juga dengan nilai dalam parameter aktual juga ikut disalin ke dalam
parameter formal.
• Akibatnya apabila parameter masukan/keluaran diubah nilainya di dalam fungsi,
maka sesudah pemanggilan prosedur nilai masukan/luaran di program
pemanggil juga berubah. Parameter masukan/luaran dideklarasikan pada
header fungsi dengan kata kunci input/output. Parameter masukan/luaran
harus berupa peubah, tidak boleh berupa konstanta atau ekspresi.
3) Parameter masukan/luaran
Catatan:
1) Program dengan Fungsi atau Tanpa Fungsi : sangat dianjurkan
menulis program yang modular, karena program yang dipecah
menjadi beberapa fungsi menunjukkan teknik pemrograman
yang baik dan terstruktur.
2) Fungsi dengan Parameter atau Tanpa Parameter : sangat
dianjurkan fungsi dengan parameter, karena parameter berfungsi
sebagai komunikasi antara modul dengan program pemanggil.
Selain itu juga dapat mengurangi kebutuhan penggunaan peubah
global.
3) Parameter masukan/luaran
3) Parameter masukan atau parameter luaran : bergantung
masalahnya, apakah fungsi tersebut menghasilkan luaran yang
digunakan pemanggil atau tidak. Bila fungsi menghasilkan luaran
yang digunakan oleh program pemanggil, maka gunakan parameter
luaran untuk menampung luaran tersebut. sebaliknya, bila
parameter luaran tidak menghasilkan luaran, atau kalaupun
menghasilkan luaran dan ternyata luaran tersebut hanya digunakan
di dalam fungsi itu saja, gunakan parameter masukan. Tetapi bila
fungsi masukan sekaligus luaran pada parameter yang sama,
gunakan parameter luaran/masukan.
E. Forum Diskusi (Praktikum)
1. Carilah jenis-jenis fungsi lain dalam Bahasa C++ dengan
CodeBlocks? Sebutkan dan beri penjelasan singkat.
2. Berikan perbedaan antara Prosedur dan Fungsi dalam Bahasa
C++? Jelaskan dengan contoh program.
3. Buatlah program menghitung luas lingkaran, volume balok dan
volume kubus dengan menggunakan fungsi.
4. Buatlah program KPK dan FPB dengan menggunakan fungsi.
G. Tugas Terstruktur
1. Buatlah program dalam Bahasa C++ dengan CodeBlocks tentang
Kalkulator sederhana dengan Pilihan operasi menggunakan
seleksi kondisi, sedangkan masing-masing operasi dibuat menjadi
fungsi.
2. Buatlah program dalam Bahasa C++ dengan CodeBlocks tentang
input dua bilangan bulat kemudian outputnya adalah
menghitung KPK dan FPB, adapun program KPK dan FPB
masing-masing diubah menjadi fungsi. Sedangkan menu memilih
KPK dan FPB saudara gunakan struktur pemilihan.

Anda mungkin juga menyukai