MODUL ALGORITMA DAN PEMROGRAMAN
Rajif Agung Yunmar, S.Kom., M.Cs.
STMIK “AMIKOM” Yogyakarta 2014
MODUL 6 FUNGSI
Fungsi adalah sebuah blok program yang merupakan sekumpulan instruksi yang bertujuan untuk menyelesaikan suatu tugas khusus. Sebuah fungsi dibuat untuk membantu mengerjakan tugas yang kompleks secara efektif dan efisien. Setelah satu fungsi dibuat, ia dapat dipanggil dibagian program manapun untuk menyelesaikan suatu tugas secara-berulang ulang. Selain itu fungsi dibuat untuk memecah program yang kompleks menjadi sub-sub program yang lebih kecil, hal ini diharapkan dapat memudahkan manajemen pembuatan program.
5.1 Struktur Umum Nama Fungsi
Parameter
TipeKeluaran functionName (parameter){ ... kumpulan instruksi ... }
Tubuh Fungsi
Struktur umum dari fungsi diatas dapat dijelaskan sebagai berikut: a. Tipe keluaran menjelaskan mengenai jenis nilai yang diberikan oleh apabila fungsi tersebut dipanggil. b. Nama fungsi merupakan deklarasi nama fungsi yang akan kita buat. Dalam deklarasinya, fungsi harus memenuhi syarat-syarat sebagai berikut: •
Hanya terdiri dari huruf, angka dan garis bawah (underscore).
•
Tidak boleh diawali dengan angka.
c. Parameter adalah data atau nilai masukan yang akan diolah oleh fungsi., Parameter bersifat optional. Namun tanda kurung harus tetap ditampilkan. d. Tubuh fungsi merupakan kumpulan instruksi yang akan dikerjakan oleh fungsi. Contoh 1 Berikut ini adalah contoh sederhana penerapan sebuah fungsi didalam program, perhatikan kode-kode berikut ini: minta_seribu.cpp #include
#include void main(){ int i; cout << "Contoh pembuatan fungsi" << endl; i = mintaSeribu();
Cara pemanggilan fungsi
cout << "Nilai dari variabel i = " << i; getch(); }
Nama fungsi
int mintaSeribu(){ return 1000;
Fungsi tanpa argumen atau masukan
}
Jika dipanggil, fungsi ini mengembalikan nilai dengan tipe integer Fungsi mintaSeribu() dideklarasikan dengan tipe kembalian bilangan bulat integer. Pada program utama, dibuat sebuah variabel bertipe integer. Nilai dari variabel i didapatkan dari pemanggilan fungsi mintaSeribu().
5.2 Argumen Dalam bahasa pemrograman argumen seringkali disebuah sebagai parameter atau nilai masukan dari sebuah fungsi. Dalam C++, terdapat dua jenis argumen yang dibedakan berdasarkan dimana dia dituliskan, yaitu:
a. Argumen formal, yaitu variabel yang dituliskan pada saat deklarasi fungsi. b. Argumen aktual, yaitu variabel yang dituliskan pada saat pemanggilan sebuah fungsi. Contoh 2 Berikut ini adalah contoh penerapan argumen formal dan aktual dalam sebuah fungsi aritmatika perkalian. Argumen dari fungsi perkalian tersebut adalah dua buah bilangan bulat integer, tipe kembalian dari fungsi tersebut juga bertipe integer. fungsi_perkalian.cpp #include #include void main(){ int a, b, c; cout << "Contoh argumen pada fungsi perkalian" << endl; a = 10; b = 5; c = perkalian(a, b);
Cara penggunaan argumen aktual
cout << "Hasil perkalian antara a * b = " << c; getch(); }
Cara deklarasi argumen formal
int perkalian(int bil_1, int bil_2){ int hasil; hasil = bil_1 * bil_2; return hasil; }
Latihan 1 Modifikasi program Contoh 1 diatas, mintalah pengguna yang menginputkan nilai untuk variabel a dan b. Setelah itu, tampilkan hasil operasi perkalian antara dua buah bilangan tersebut dengan fungsi .
Latihan 2 Modifikasi program Contoh 2 diatas, buatlah fungsi yang berguna untuk melakukan operasi terhadap dua buah bilangan. Panggillah fungsi tersebut secara bergantian dengan fungsi perkalian().
5.3 Tipe Fungsi Dalam deklarasinya, sebuah fungsi dibagi menjadi dua tipe, yaitu: fungsi void dan fungsi non-void. 5.3.1 Fungsi Void Fungsi void adalah fungsi yang jika dipanggil tidak mengembalikan nilai apapun. Fungsi dengan tipe ini seringkali disebut juga dengan istilah procedure. Fungsi dengan tipe ini ditandai dengan dituliskannya kata kunci void sebagai tipe keluaran fungsi. Contoh 3 Berikut ini adalah contoh penerapan fungsi void pada sebuah program. cetak_garis.cpp #include #include void main(){ cetakGaris(); cout << "Contoh fungsi void pada cetakGaris()" cetakGaris(); getch(); } void cetakGaris(){ cout << "--------------------------------------" << endl; }
5.3.2 Fungsi Non-Void Fungsi non-void adalah fungsi yang jika dipanggil akan mengembalikan sebuah nilai. Fungsi ini sebenarnya telah dipraktekkan pada Contoh 1 & Contoh 2. Nilai-nilai yang dikembalikan dapat berupa int, float, char atau tipe data yang lainnya. Contoh 4 Berikut ini adalah contoh penerapan fungsi non-void dalam menentukan nilai minimum dari dua buah bilangan. fungsi_minimum.cpp #include #include void main(){ int a, b, c; a = 212; b = 234; c = min(a, b); cout << "Nilai terkecil dari bilangan a dan b = " << c; getch(); } int min(int bil_1, bil_2){ int min; if(bil_1 < bil_2){ min = bil_1; } else { min = bil_2; } return min; }
Tipe keluaran dan nilai yang dikembalikan harus memiliki tipe data yang sama
Tugas 1. Buatlah fungsi yang digunakan untuk menentukan apakah sebuah bilangan termasuk kedalam bilangan ganjil atau genap. Nilai bilangan yang akan diperiksa didapatkan dari inputan pengguna. 2. Buatlah fungsi untuk menghitung luas persegi panjang. Nilai panjang dan lebar persegi panjang didapatkan dari pengguna. 3. Buatlah fungsi untuk menentukan nilai rata-rata dari 3 buah bilangan. Mintalah pengguna untuk menginputkan nilai dari 3 buah bilangan tersebut. 4. Buatlah fungsi kalkulator sederhana. Argumen dari fungsi adalah bilangan 1, bilangan 2 dan tipe operasi aritmatika (tambah, kurang, kali, bagi). Sedangkan kembaliannya adalah hasil dari operasi aritmatika tersebut. Mintalah pengguna untuk menginputkan nilai bilangan 1, bilangan 2 dan memilih operasi aritmatika yang diinginkannya.