Fungsi adalah blok kode yang dirancang untuk melakukan tugas tertentu dan dapat dipanggil di berbagai bagian program. Penggunaan fungsi membantu membuat kode lebih terorganisir, modular, dan mudah dipahami.
1. Struktur Dasar Fungsi
Fungsi dalam C++ memiliki tiga bagian utama:
- Deklarasi (Prototype): Menentukan nama, tipe pengembalian, dan parameter fungsi.
- Definisi: Implementasi fungsi (blok kode yang akan dijalankan).
- Pemanggilan: Menggunakan fungsi dalam program.
Sintaks Dasar
tipe_pengembalian nama_fungsi(parameter) {
// Blok kode
return nilai; // Opsional, tergantung pada tipe pengembalian
}
2. Membuat dan Menggunakan Fungsi
Contoh Sederhana: Fungsi Tanpa Parameter
Fungsi berikut mencetak pesan ke layar.
#include <iostream>
// Definisi fungsi
void sapa() {
std::cout << "Halo, selamat datang di program C++!" << std::endl;
}
int main() {
sapa(); // Pemanggilan fungsi
return 0;
}
Output:Halo, selamat datang di program C++!
Contoh: Fungsi dengan Parameter
Fungsi berikut menjumlahkan dua angka yang diberikan sebagai parameter.
#include <iostream>
// Definisi fungsi
int jumlah(int a, int b) {
return a + b;
}
int main() {
int x = 5, y = 10;
// Pemanggilan fungsi
std::cout << "Hasil penjumlahan: " << jumlah(x, y) << std::endl;
return 0;
}
Output:Hasil penjumlahan: 15
Contoh: Fungsi dengan Parameter dan Tanpa Pengembalian
Fungsi berikut mencetak hasil penjumlahan tanpa mengembalikan nilai.
#include <iostream>
// Definisi fungsi
void cetakJumlah(int a, int b) {
std::cout << "Hasil penjumlahan: " << a + b << std::endl;
}
int main() {
cetakJumlah(7, 3); // Pemanggilan fungsi
return 0;
}
Output:Hasil penjumlahan: 10
Contoh: Fungsi dengan Nilai Kembali
Fungsi berikut menghitung luas persegi panjang.
#include <iostream>
// Definisi fungsi
int luasPersegiPanjang(int panjang, int lebar) {
return panjang * lebar;
}
int main() {
int panjang = 8, lebar = 4;
// Pemanggilan fungsi
int luas = luasPersegiPanjang(panjang, lebar);
std::cout << "Luas persegi panjang: " << luas << std::endl;
return 0;
}
Output:Luas persegi panjang: 32
3. Deklarasi Fungsi (Prototype)
Jika fungsi didefinisikan setelah main()
, deklarasi fungsi (prototype) diperlukan agar compiler mengenali fungsi saat dipanggil.
Contoh
#include <iostream>
// Deklarasi fungsi
int kali(int a, int b);
int main() {
int hasil = kali(4, 5); // Pemanggilan fungsi
std::cout << "Hasil perkalian: " << hasil << std::endl;
return 0;
}
// Definisi fungsi
int kali(int a, int b) {
return a * b;
}
Output:Hasil perkalian: 20
4. Fungsi dengan Default Parameter
Anda dapat menetapkan nilai default pada parameter, sehingga parameter bersifat opsional.
Contoh
#include <iostream>
// Definisi fungsi dengan default parameter
int hitungVolumeKubus(int sisi = 1) {
return sisi * sisi * sisi;
}
int main() {
std::cout << "Volume kubus dengan sisi 3: " << hitungVolumeKubus(3) << std::endl;
std::cout << "Volume kubus default: " << hitungVolumeKubus() << std::endl;
return 0;
}
Output:
Volume kubus dengan sisi 3: 27
Volume kubus default: 1
5. Fungsi Rekursif
Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri untuk menyelesaikan masalah.
Contoh: Faktorial
#include <iostream>
// Definisi fungsi rekursif
int faktorial(int n) {
if (n == 0 || n == 1) {
return 1;
}
return n * faktorial(n - 1);
}
int main() {
int angka = 5;
std::cout << "Faktorial dari " << angka << " adalah: " << faktorial(angka) << std::endl;
return 0;
}
Output:Faktorial dari 5 adalah: 120
6. Fungsi dengan Referensi
Parameter dapat dilewatkan sebagai referensi untuk mengubah nilai asli.
Contoh
#include <iostream>
// Definisi fungsi dengan referensi
void ubahNilai(int &a) {
a *= 2; // Menggandakan nilai
}
int main() {
int angka = 10;
std::cout << "Sebelum fungsi: " << angka << std::endl;
ubahNilai(angka);
std::cout << "Setelah fungsi: " << angka << std::endl;
return 0;
}
Output:
Sebelum fungsi: 10
Setelah fungsi: 20
7. Contoh Program Lengkap
Program berikut menghitung nilai maksimum dari dua angka menggunakan fungsi.
#include <iostream>
// Definisi fungsi untuk mencari nilai maksimum
int maksimum(int a, int b) {
return (a > b) ? a : b;
}
int main() {
int x = 12, y = 15;
std::cout << "Nilai maksimum antara " << x << " dan " << y << " adalah: " << maksimum(x, y) << std::endl;
return 0;
}
Output:Nilai maksimum antara 12 dan 15 adalah: 15
Dengan memahami fungsi, Anda dapat mengorganisasi kode secara modular dan efisien. Apakah Anda ingin mencoba membuat fungsi khusus? 😊
Leave a Reply