Danu Andrean, 05 Jan 2025

Function C++

Penjelasan Gambar

Function atau fungsi dalam C++ adalah blok kode yang dirancang untuk melakukan tugas tertentu. Fungsi digunakan untuk mengorganisasi program menjadi bagian-bagian yang lebih kecil dan lebih mudah dikelola. Dengan memanfaatkan fungsi, kamu dapat menghindari pengulangan kode, meningkatkan keterbacaan, dan mempermudah debugging.

Struktur Dasar Fungsi dalam C++

Setiap fungsi dalam C++ memiliki struktur dasar seperti berikut:

<tipe_data_pengembalian> nama_fungsi(<parameter>) 
{
    // Blok kode
    return nilai;
}
  • <tipe_data_pengembalian>: Menentukan jenis data yang dikembalikan oleh fungsi (contoh: int, float, void, dll.).
  • nama_fungsi: Nama yang unik untuk mengidentifikasi fungsi.
  • < parameter >: Daftar variabel yang diterima oleh fungsi, dipisahkan dengan koma.
  • return nilai;: Digunakan untuk mengembalikan hasil ke pemanggil fungsi (opsional untuk fungsi void).

Contoh Fungsi Sederhana

Berikut contoh fungsi untuk menjumlahkan dua bilangan:

#include <iostream>

// Deklarasi fungsi
int Add(int a, int b) 
{
    return a + b;
}

int main() 
{
    int x = 5, y = 10;
    int result = Add(x, y);
    std::cout << "Hasil penjumlahan: " << result << std::endl;
    return 0;
}

Jenis-Jenis Fungsi dalam C++

1. Fungsi Void

Fungsi yang tidak mengembalikan nilai apapun:

void Show() 
{
    std::cout << "Halo, Dunia!" << std::endl;
}
2. Fungsi Rekursif

Fungsi yang memanggil dirinya sendiri:

int Faktorial(int n) 
{
    if (n <= 1) return 1;
    return n * Faktorial(n - 1);
}
3. Fungsi Overloading

Fungsi dengan nama yang sama tetapi parameter berbeda:

int Add(int a, int b) 
{
    return a + b;
}

double Add(double a, double b) 
{
    return a + b;
}
4. Fungsi Lambda

Fungsi anonim yang digunakan untuk operasi sederhana:

[ capture_list ] ( parameter_list ) -> return_type {
    // body
};

Penjelasan setiap bagian:

  • capture_list: Menentukan variabel dari lingkup sekitar yang dapat diakses dalam lambda.
  • parameter_list: Daftar parameter (mirip dengan fungsi biasa).
  • return_type: (Opsional) Jenis data yang dikembalikan oleh lambda. Jika diabaikan, akan ditentukan secara otomatis.
Contoh:
int x = 10, y = 20;
auto add = [x, y]() {
    return x + y;
};
std::cout << "Jumlah: " << add() << std::endl;

Lambda sendiri diperkenalkan pertama kali di C++11 dan telah mengalami peningkatan di versi-versi berikutnya.

Capture List pada Lambda

capture_list menentukan bagaimana variabel dari lingkup luar dapat diakses di dalam lambda. Ada beberapa cara menangkap variabel:

  • [ ]: Tidak menangkap variabel apa pun.
  • [=]: Menangkap semua variabel di lingkup luar dengan nilai.
  • [&]: Menangkap semua variabel di lingkup luar dengan referensi.
  • [variable]: Menangkap variabel tertentu dengan nilai.
  • [&variable]: Menangkap variabel tertentu dengan referensi.
Contoh:
int a = 5, b = 10;

// Menangkap dengan nilai
auto lambda1 = [=]() {
    return a + b; // a dan b hanya dapat dibaca
};

// Menangkap dengan referensi
auto lambda2 = [&]() {
    a += 10; // a dapat diubah
    return a + b;
};

std::cout << "Lambda1: " << lambda1() << std::endl;
std::cout << "Lambda2: " << lambda2() << std::endl;

Kesimpulan

Fungsi adalah salah satu konsep dasar dalam pemrograman C++ yang sangat penting untuk dipahami. Dengan memahami fungsi, kamu dapat membuat program yang lebih terstruktur, efisien, dan mudah di-maintain. Jangan ragu untuk bereksperimen dengan berbagai jenis fungsi untuk menyelesaikan berbagai masalah pemrograman!🎉🎉🎉



#pemrograman #c++