Menguasai Fungsi C++: Dari Dasar hingga Penggunaan Lanjutan
Menguasai Fungsi C++
Tutorial ini memandu Anda melalui dasar-dasar fungsi C++—termasuk fungsi yang ditentukan pengguna, prototipe, parameter, tipe pengembalian, dan fungsi pustaka bawaan—dengan contoh dunia nyata yang jelas.
Fungsi adalah blok kode yang mencukupi yang melakukan tugas tertentu. Dengan memecah masalah kompleks menjadi fungsi-fungsi kecil yang dapat digunakan kembali, Anda meningkatkan keterbacaan, kemudahan pemeliharaan, dan kemampuan pengujian.
Dalam C++ Anda akan menemukan dua kategori fungsi:
Fungsi Pustaka Standar – telah ditentukan oleh bahasa (misalnya, sqrt(), abs()).
Fungsi yang Ditentukan Pengguna – ditulis oleh Anda untuk mengenkapsulasi logika kustom.
Kami akan difokuskan pada fungsi yang ditentukan pengguna dan akan membahas sintaks, pemanggilan, dan praktik terbaiknya.
Fungsi yang Ditentukan Pengguna dalam C++
C++ memungkinkan Anda mendefinisikan fungsi dengan tanda tangan yang jelas: tipe pengembalian, nama, dan parameter opsional.
Sintaks Deklarasi Fungsi
returnType functionName(parameter1, parameter2, ...) { // function body }
Contoh: void greet() mencetak sapaan. Kurung kosong menunjukkan tidak ada parameter.
Tipe pengembalian: void (tidak ada nilai yang dikembalikan)
Parameter: tidak ada (kurung kosong)
Body: kode di dalam {}
Catatan: Tipe pengembalian dan parameter akan dijelaskan lebih lanjut.
Memanggil Fungsi
Untuk menggunakan greet(), cukup panggil di tempat yang diperlukan.
int main() { greet(); }
Contoh 1: Menampilkan Teks
#include <iostream> using namespace std; void greet() { cout << "Hello there!"; } int main() { greet(); return 0; }
Output
Hello there!
Parameter Fungsi
Parameter adalah penanda tempat untuk nilai yang diteruskan ke fungsi.
void printNum(int num) { cout << num; }
Saat memanggil printNum, berikan argumen:
int main() { int n = 7; printNum(n); return 0; }
Contoh 2: Fungsi dengan Beberapa Parameter
#include <iostream> using namespace std; void displayNum(int n1, float n2) { cout << "The int number is " << n1; cout << "The double number is " << n2; } int main() { int num1 = 5; double num2 = 5.5; displayNum(num1, num2); return 0; }
Output
The int number is 5 The double number is 5.5
Pastikan tipe argumen sesuai dengan parameter yang dideklarasikan.
Pernyataan Return
Fungsi dapat mengembalikan nilai. Tentukan tipe pengembalian dan gunakan return untuk memberikan hasilnya.
int add(int a, int b) { return a + b; }
Memanggil add dan menyimpan hasilnya:
int sum = add(100, 78); cout << "100 + 78 = " << sum << endl;
Contoh 3: Menambahkan Dua Bilangan
#include <iostream> using namespace std; int add(int a, int b) { return a + b; } int main() { int sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; }
Output
100 + 78 = 178
Prototipe Fungsi
Ketika fungsi didefinisikan setelah penggunaan pertamanya, prototipe memberitahu kompiler tentang tanda tangannya.
// Prototype void add(int, int); int main() { add(5, 3); return 0; } // Definition void add(int a, int b) { cout << (a + b); }
#include <iostream> using namespace std; int add(int, int); int main() { int sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; } int add(int a, int b) { return a + b; }
Output
100 + 78 = 178
Manfaat Fungsi yang Ditentukan Pengguna
Enkapsulasi: Kelompokkan kode terkait menjadi satu blok yang dapat digunakan kembali.
Keterbacaan: Pecah logika kompleks menjadi fungsi-fungsi yang deskriptif.
Kemudahan pemeliharaan: Perbarui logika di satu tempat tanpa menyentuh setiap pemanggilan.
Kemampuan pengujian: Isolir fungsionalitas untuk pengujian unit.
Fungsi Pustaka Standar
Pustaka Standar C++ menawarkan sejumlah besar fungsi siap pakai yang menyederhanakan tugas-tugas umum. Contohnya meliputi sqrt(), abs(), dan isdigit().
Untuk menggunakan fungsi pustaka, sertakan header tempat dideklarasikan. Untuk operasi matematika, #include <cmath> membawa sqrt(), pow(), dll.
Contoh 5: Menghitung Akar Kuadrat
#include <iostream> #include <cmath> using namespace std; int main() { double number = 25.0; double squareRoot = sqrt(number); cout << "Akar kuadrat dari " << number << " = " << squareRoot; return 0; }
Output
Akar kuadrat dari 25 = 5
Deklarasi fungsi sqrt() berada di header cmath, itulah sebabnya direktif #include <cmath> diperlukan.