C++ Fungsi dengan Contoh Program

⚡ Ringkasan Cerdas

Fungsi dalam C++ Mengelompokkan pernyataan-pernyataan yang terkait ke dalam blok bernama yang dapat digunakan kembali, yang menerima input, memprosesnya, dan mengembalikan output. Program menggabungkan fungsi-fungsi pustaka bawaan dan fungsi-fungsi yang ditentukan pengguna, masing-masing dideklarasikan, didefinisikan, dan dipanggil untuk menghindari pengulangan kode.

  • 🧩 Apa itu: Sebuah fungsi mengelompokkan pernyataan-pernyataan yang menerima parameter, memprosesnya, dan mengembalikan sebuah nilai, menjalankan tugas umum dari satu blok.
  • 📚 Fungsi bawaan: The C++ Pustaka standar menyediakan fungsi-fungsi siap pakai seperti sqrt() yang dapat Anda panggil langsung tanpa perlu menuliskannya sendiri.
  • Fungsi yang ditentukan pengguna: Para programmer membuat fungsi mereka sendiri, memberi nama unik pada fungsi tersebut, dan memanggil kode tersebut dari mana saja dalam program.
  • 📝 Pernyataan dan definisi: Prototipe mendeklarasikan tipe nilai kembalian, nama, dan tipe argumen; definisi menyediakan isi fungsi.
  • 📞 Panggilan dan argumen: Memanggil sebuah fungsi akan menjalankan isi fungsi tersebut; argumen harus sesuai dengan parameter dalam jumlah dan tipe, dan nilai default diperbolehkan.
  • 🤖 Bantuan AI: GitHub Copilot dan asisten serupa membuat kerangka kerja. C++ Tanda tangan fungsi, isi, dan panggilan dari komentar singkat.

C++ Fungsi

Apa itu Fungsi di C++?

Sebuah fungsi di C++ mengacu pada sekelompok pernyataan yang mengambil masukan, memprosesnya, dan mengembalikan keluaran. Ide di balik suatu fungsi adalah untuk menggabungkan tugas-tugas umum yang dilakukan berulang kali. Jika Anda memiliki masukan yang berbeda, Anda tidak akan menulis kode yang sama lagi. Anda cukup memanggil fungsi dengan kumpulan data berbeda yang disebut parameter.

Masing-masing C++ program memiliki setidaknya satu fungsi, fungsi main(). Anda dapat membagi kode Anda menjadi beberapa fungsi. Pembagian ini harus sedemikian rupa sehingga setiap fungsi melakukan tugas tertentu.

Ada banyak fungsi bawaan di C++ perpustakaan standar. Anda dapat memanggil fungsi-fungsi ini dalam program Anda.

Mengapa menggunakan fungsi?

Ada banyak manfaat yang terkait dengan penggunaan fungsi. Ini termasuk:

  • Setiap fungsi menyatukan kode terkait. Hal ini memudahkan pemrogram untuk memahami kode.
  • Fungsi membuat pemrograman lebih mudah dengan menghilangkan pengulangan kode.
  • Fungsi memfasilitasi penggunaan kembali kode. Anda dapat memanggil fungsi yang sama untuk melakukan tugas di bagian program yang berbeda atau bahkan di luar program.

Fungsi bawaan

In C++, fungsi-fungsi pustaka sudah terintegrasi C++ fungsi. Untuk menggunakan fungsi-fungsi ini, Anda cukup memanggil/memanggilnya secara langsung. Anda tidak perlu menulis fungsinya sendiri.

Contoh 1:

#include <iostream>
#include <cmath>
using namespace std;
int main() {
	double num, squareRoot;
	cout << "Enter number: ";
	cin >> num;
	squareRoot = sqrt(num);
	cout << "The square root of " << num << " is: " << squareRoot;
	return 0;
}

Keluaran:

Keluaran dari C++ contoh fungsi sqrt() bawaan

Berikut ini tangkapan layar kodenya:

C++ kode yang memanggil fungsi sqrt() bawaan dari cmath

Code Penjelasan:

  1. Sertakan file header iostream dalam program kami untuk menggunakan fungsinya.
  2. Sertakan perpustakaan cmath untuk menggunakan fungsinya. Kami ingin menggunakan fungsi sqrt() yang didefinisikan di dalamnya.
  3. Sertakan namespace std dalam kode kita untuk menggunakan kelasnya tanpa memanggilnya.
  4. Panggil fungsi main(). Logika program harus ditambahkan dalam isi fungsi ini.
  5. Nyatakan dua variabel ganda, num dan squareRoot.
  6. Cetak beberapa teks di konsol. Teks meminta pengguna untuk memasukkan nomor.
  7. Membaca input pengguna dari keyboard. Inputnya akan menjadi nilai variabel num.
  8. Panggil fungsi perpustakaan sqrt(), yang menghitung akar kuadrat suatu bilangan. Kami meneruskan parameter num ke fungsi tersebut, yang berarti fungsi tersebut akan menghitung akar kuadrat dari num. Fungsi ini didefinisikan di perpustakaan cmath.
  9. Cetak nomor yang dimasukkan oleh pengguna, akar kuadratnya, dan beberapa teks lainnya di konsol.
  10. Program harus mengembalikan nilai setelah berhasil diselesaikan.
  11. Akhir dari isi fungsi main().

Fungsi yang Ditentukan Pengguna

C++ memungkinkan pemrogram untuk mendefinisikan fungsinya sendiri. Tujuan dari fungsinya adalah untuk mengelompokkan kode terkait. Kode tersebut kemudian diberi pengenal unik, nama fungsi.

Fungsi ini dapat dipanggil/dipanggil dari bagian lain program. Ia kemudian akan mengeksekusi kode yang ditentukan di dalam tubuhnya.

Contoh 2:

#include <iostream>
using namespace std;

void sayHello() {
	cout << "Hello!";
}

int main() {

	sayHello();

	return 0;
}

Keluaran:

Keluaran dari C++ fungsi sayHello() yang ditentukan pengguna

Berikut ini tangkapan layar kodenya:

C++ kode yang mendefinisikan dan memanggil fungsi yang ditentukan pengguna

Code Penjelasan:

  1. Sertakan file header iostream dalam program kami untuk menggunakan fungsinya.
  2. Sertakan namespace std dalam kode kita untuk menggunakan kelasnya tanpa memanggilnya.
  3. Buat fungsi yang ditentukan pengguna bernama sayHello().
  4. Cetak beberapa teks di konsol saat fungsi sayHello() dipanggil.
  5. Akhir dari isi fungsi sayHello().
  6. Panggil fungsi main(). Logika program harus ditambahkan dalam isi fungsi ini.
  7. Panggil/panggil fungsi bernama sayHello().
  8. Program harus mengembalikan nilai setelah berhasil diselesaikan.
  9. Akhir dari isi fungsi main().

Compiler harus mengetahui suatu fungsi sebelum fungsi tersebut digunakan.

Deklarasi Fungsi/Prototipe

Jika Anda mendefinisikan fungsi yang ditentukan pengguna setelah fungsi main(), maka C++ penyusun akan mengembalikan kesalahan. Alasannya adalah karena kompiler tidak mengetahui detail fungsi yang ditentukan pengguna. Detailnya meliputi nama, tipe argumen, dan tipe pengembaliannya.

In C++, deklarasi fungsi/prototipe mendeklarasikan fungsi tanpa isi. Ini memberikan rincian fungsi yang ditentukan pengguna kepada kompiler.

Dalam deklarasi/prototipe, kami menyertakan tipe kembalian, nama fungsi, dan tipe argumen. Nama argumen tidak ditambahkan. Namun, menambahkan nama argumen tidak menghasilkan kesalahan.

C++ Diagram sintaks deklarasi/prototipe fungsi

Definisi Fungsi

Tujuan dari deklarasi fungsi adalah untuk memberitahukan C++ kompiler tentang nama fungsi, tipe kembalian, dan parameter. Definisi fungsi memberitahukan C++ kompiler tentang badan fungsi.

C++ diagram struktur definisi fungsi

Sintaksis

return_datatype function_name( parameters) {
   function body 
}

Dari penjelasan di atas, definisi fungsi memiliki fungsi header dan body. Berikut penjelasan parameternya:

  • return_datatype - Beberapa fungsi mengembalikan nilai. Parameter ini menunjukkan tipe data dari nilai yang dikembalikan. Beberapa fungsi tidak mengembalikan nilai. Dalam hal ini, nilai parameter ini menjadi void.
  • nama_fungsi- Ini adalah nama fungsinya. Nama fungsi dan parameter membentuk tanda tangan fungsi.
  • Parameter - Ini adalah tipe, urutan, dan jumlah parameter fungsi. Beberapa fungsi tidak memiliki parameter.
  • badan fungsi- ini adalah pernyataan yang menjelaskan apa yang akan dilakukan fungsi.

Panggilan Fungsi

Agar suatu fungsi dapat melakukan tugas tertentu dan mengembalikan keluaran, fungsi tersebut harus dipanggil. Saat Anda memanggil suatu fungsi, ia mengeksekusi pernyataan yang ditambahkan di dalam tubuhnya.

Suatu fungsi dipanggil berdasarkan namanya. Jika fungsi tersebut menerima parameter, nilai parameter tersebut harus diberikan selama pemanggilan. Jika fungsi tersebut tidak menerima parameter, jangan berikan nilai apa pun selama pemanggilan.

C++ diagram sintaks panggilan fungsi

Melewati Argumen

In C++, argumen/parameter adalah data yang diteruskan ke suatu fungsi selama pemanggilannya. Nilai harus diinisialisasi ke variabelnya masing-masing.

Saat memanggil sebuah fungsi, argumen harus berjumlah sama. Artinya, nilai yang Anda berikan harus sama dengan jumlah parameter. Sekali lagi, nilai tersebut juga harus sesuai dengan tipe parameter. Jika parameter pertama adalah bilangan bulat, nilai yang diberikan kepadanya juga harus berupa bilangan bulat.

Kita dapat menetapkan nilai default untuk parameter fungsi. Jika Anda tidak memberikan nilai untuk parameter selama pemanggilan fungsi, nilai default akan digunakan.

Contoh 3: Cara Menulis dan Memanggil Fungsi

#include <iostream>
using namespace std;
int addFunc(int, int);
int main() {
	int x, y, sum;
	cout << "Enter two numbers: ";
	cin >> x >> y;
	sum = addFunc(x, y);
	cout <<"The sum of "<<x<< " and " <<y<<" is: "<<sum;
	return 0;
}
int addFunc(int num1, int num2) {
	int addFunc;
	addFunc = num1 + num2;
	return addFunc;
}

Keluaran:

Keluaran dari C++ Fungsi addFunc() yang mengembalikan jumlah.

Berikut ini tangkapan layar kodenya:

C++ kode yang meneruskan argumen ke fungsi addFunc()

Code Penjelasan:

  1. Sertakan file header iostream dalam program kami untuk menggunakan fungsinya.
  2. Sertakan namespace std dalam kode kita untuk menggunakan kelasnya tanpa memanggilnya.
  3. Deklarasikan fungsi bernama addFunc() yang mengambil dua parameter bilangan bulat. Ini menciptakan prototipe fungsi.
  4. Panggil fungsi main(). Logika program harus ditambahkan dalam isi fungsi ini.
  5. Deklarasikan tiga variabel bilangan bulat, x, y, dan jumlah.
  6. Cetak beberapa teks di konsol. Teks tersebut meminta pengguna untuk memasukkan dua angka.
  7. Membaca input pengguna dari papan ketik. Pengguna harus memasukkan dua angka untuk variabel x dan y, dipisahkan oleh spasi.
  8. Panggil fungsi addFunc() dan berikan parameter x dan y. Fungsi akan beroperasi pada parameter ini dan menetapkan output ke variabel sum.
  9. Cetak nilai variabel x, y, dan sum di konsol bersama teks lainnya.
  10. Fungsi tersebut harus mengembalikan nilai setelah berhasil diselesaikan.
  11. Akhir dari isi fungsi main().
  12. Definisi fungsi. Kami mendefinisikan fungsi addFunc(). Kita akan menyatakan fungsi yang akan dilakukan di dalam tubuhnya, {}.
  13. Mendeklarasikan variabel integer bernama addFunc.
  14. Menambahkan nilai parameter num1 dan num2 dan menetapkan hasilnya ke variabel addFunc.
  15. Fungsi addFunc() harus mengembalikan nilai variabel addFunc.
  16. Akhir dari badan fungsi, yaitu definisi fungsi.

Pertanyaan Umum Demo Slot

Pemanggilan berdasarkan nilai (call by value) menyalin argumen, sehingga perubahan di dalam fungsi tidak memengaruhi nilai aslinya. Pemanggilan berdasarkan referensi (call by reference) meneruskan variabel dengan tanda ampersand (&), memungkinkan fungsi untuk memodifikasi nilai pemanggil secara langsung. C++ Secara default menggunakan pemanggilan berdasarkan nilai.

Overloading fungsi memungkinkan beberapa fungsi berbagi satu nama tetapi berbeda dalam jumlah atau tipe parameternya. Kompilator memilih versi yang tepat dari argumen yang Anda berikan, sehingga meningkatkan keterbacaan untuk operasi terkait.

Fungsi inline meminta kompiler untuk menyisipkan isi fungsinya di setiap lokasi pemanggilan, alih-alih melakukan panggilan normal. Hal ini dapat mengurangi overhead untuk fungsi-fungsi kecil, meskipun kompiler mungkin mengabaikan petunjuk tersebut.

Fungsi rekursif memanggil dirinya sendiri, memecah masalah menjadi submasalah yang lebih kecil. Fungsi ini membutuhkan kasus dasar yang menghentikan rekursi; jika tidak, panggilan akan berulang tanpa henti dan menyebabkan stack overflow. Faktorial adalah contoh klasiknya.

Anda meneruskan parameter sebagai pointer atau array berukuran tertentu dan biasanya mengirimkan panjangnya secara terpisah, karena array tersebut akan berubah menjadi pointer. Lihat penerusan susunan dalam C++ fungsi untuk contoh soal lengkap.

Suatu fungsi mengembalikan satu nilai secara langsung, tetapi Anda dapat mengembalikan beberapa nilai menggunakan parameter referensi keluaran, sebuah struct, sebuah std::pair, sebuah std::tuple, atau sebuah std::vector. Pengikatan terstruktur kemudian membongkar tuple yang dikembalikan di tempat pemanggilan.

Ya. Asisten pengkodean AI mengubah komentar dalam bahasa biasa menjadi kode yang lengkap. C++ fungsi, menyarankan tanda tangan, isi, dan tipe kembalian. Mereka juga melakukan refactoring pada fungsi-fungsi panjang, meskipun Anda harus meninjau logika yang dihasilkan.

Kopilot GitHub pelengkapan otomatis C++ Definisi fungsi, prototipe, dan panggilan dari komentar atau nama Anda, mengusulkan kelebihan beban (overload), dan menyusun draf pengujian unit. Ia menggunakan header yang direferensikan untuk konteks, tetapi setiap saran masih perlu ditinjau.

Ringkaslah postingan ini dengan: