Sebuah fungsi dalam C++ adalah blok kode terpisah yang menerima input, memprosesnya, dan mengembalikan hasil. Dengan mengenkapsulasi tugas berulang dalam fungsi, pengembang menghindari duplikasi kode dan dapat dengan mudah menggunakan kembali logika di seluruh program dengan menyediakan parameter yang berbeda.
Setiap aplikasi C++ setidaknya berisi satu fungsi: main(). Sisa kode dapat diorganisir ke dalam fungsi-fungsi kecil yang spesifik, sehingga meningkatkan keterbacaan dan kemampuan pemeliharaan.
C++ modern menyediakan serangkaian fungsi bawaan yang kaya di perpustakaan standar. Anda dapat memanggilnya langsung tanpa menulis implementasinya sendiri.
Dalam tutorial ini Anda akan menemukan:
Apa itu fungsi dalam C++
Mengapa fungsi penting
Fungsi perpustakaan bawaan
Fungsi yang ditentukan pengguna
Deklarasi dan prototipe fungsi
Definisi fungsi
Sintaks dan struktur
Cara memanggil fungsi
Mengirim argumen
Menggunakan Fungsi?
Fungsi menawarkan beberapa keuntungan:
Mengelompokkan pernyataan yang terkait, sehingga kode lebih mudah dibaca dan dipahami.
Menghindari pengulangan, mengurangi kemungkinan kesalahan.
Mengaktifkan penggunaan kembali kode di berbagai bagian program—atau bahkan di berbagai proyek—dengan memanggil fungsi yang sama.
Fungsi Bawaan
Fungsi perpustakaan standar telah ditentukan sebelumnya dan siap digunakan. Anda cukup memanggilnya; Anda tidak perlu menyediakan implementasi.
Gunakan namespace std untuk menghindari awalan nama standar.
Definisikan fungsi main() tempat logika program berada.
Deklarasikan num dan squareRoot sebagai double.
Minta pengguna memasukkan angka.
Baca input pengguna ke dalam num.
Panggil sqrt() untuk menghitung akar kuadrat dari num.
Tampilkan hasilnya.
Kembalikan 0 untuk menandakan eksekusi berhasil.
Fungsi yang Ditentukan Pengguna
Pengembang dapat membuat fungsi kustom untuk mengenkapsulasi logika yang spesifik untuk aplikasi mereka.
Contoh 2: Fungsi Sapaan Sederhana
#include <iostream> using namespace std; void sayHello() { cout << "Hello!"; } int main() { sayHello(); return 0; }
Output:
Screenshot kode:
Penjelasan:
Sertakan iostream untuk I/O konsol.
Masukkan namespace std ke dalam cakupan.
Definisikan sayHello(), fungsi yang mencetak sapaan.
Panggil sayHello() dari main().
Kembalikan 0 untuk menandakan pengakhiran yang berhasil.
Deklarasi / Prototipe Fungsi
Saat fungsi didefinisikan setelah main(), kompiler perlu mengetahui tanda tangannya sebelumnya. Prototipe menyediakan informasi ini tanpa tubuh fungsi.
Contoh prototipe:
int addFunc(int, int);
Hanya tipe pengembalian, nama fungsi, dan tipe parameter yang diperlukan; nama parameter opsional.
Definisi Fungsi
Sementara prototipe memberitahu kompiler tentang antarmuka fungsi, definisi menyediakan tubuh yang dapat dieksekusi.
Contoh definisi:
int addFunc(int num1, int num2) { return num1 + num2; }
Sintaks
return_datatype function_name(parameter_list) { // tubuh fungsi }
Komponen utama:
return_datatype – tipe nilai yang dikembalikan (gunakan void jika tidak ada).
function_name – pengidentifikasi yang merupakan bagian dari tanda tangan fungsi.
parameter_list – nol atau lebih parameter yang diketik.
tubuh fungsi – pernyataan yang melakukan tugas.
Memanggil Fungsi
Untuk mengeksekusi fungsi, Anda harus memanggilnya berdasarkan nama dan menyediakan argumen yang diperlukan.
Contoh pemanggilan:
int result = addFunc(3, 5);
Mengirim Argumen
Argumen harus cocok dengan daftar parameter fungsi baik dalam jumlah maupun tipe. Argumen yang tidak cocok memicu kesalahan waktu kompilasi.
Nilai default parameter dapat ditentukan, sehingga pemanggil dapat mengabaikan argumen tersebut.
Contoh 3: Menambahkan Dua Angka dengan Prototipe
#include <iostream> using namespace std; int addFunc(int, int); // prototipe int main() { int x, y, sum; cout << "Masukkan dua angka: "; cin >> x >> y; sum = addFunc(x, y); cout << "Jumlah dari " << x << " dan " << y << " adalah: " << sum; return 0; } int addFunc(int num1, int num2) { return num1 + num2; }
Output:
Screenshot:
Penjelasan:
Sertakan header dan namespace yang diperlukan.
Deklarasikan prototipe untuk addFunc().
Baca dua bilangan bulat dari pengguna.
Panggil addFunc() dengan nilai tersebut dan simpan hasilnya.
Tampilkan jumlahnya.
Definisikan addFunc() setelah main(), menyediakan logika untuk menambahkan kedua parameter.
Ringkasan
Fungsi mengelompokkan kode terkait ke dalam blok yang dapat digunakan kembali.
Mengurangi duplikasi dan meningkatkan kejelasan kode.
Fungsi perpustakaan bawaan tersedia melalui header; fungsi yang ditentukan pengguna memerlukan deklarasi dan definisi.
Prototipe fungsi memberitahu kompiler sebelum definisi sebenarnya.
Kecocokan jumlah dan tipe argumen wajib; argumen default menawarkan fleksibilitas.