#C++
Dalam pemrograman, fungsi atau prosedur sering digunakan untuk membungkus program
menjadi bagian-bagian kecil.
Kalau semua kodenya ditulis di dalam fungsi main() , maka kita akan kesulitan membacanya.
Fungsi adalah sub-program yang bisa digunakan kembali baik di dalam program itu sendiri,
maupun di program yang lain.
Fungsi ini memang wajib ada di setiap program C++, karena fungsi inilah yang akan
dieksekusi pertama kali saat program berjalan.
“Kalau kita menumpuk semua kode program di dalam fungsi main() , maka program akan
menjadi sulit terbaca.”
Karena itu, kita perlu membuat fungsi tersendiri agar program tidak berantakan.
Fungsi pada C++ dapat kita buat dengan cara seperti ini:
https://www.petanikode.com/cpp-fungsi/ 2/18
8/15/23, 10:02 AM Belajar C++ #10: Mengenal Fungsi dan Prosedur pada C++
Fungsi biasanya akan mengembalikan sebuah nilai dari hasil prosesnya. Karena itu, kita harus
menentukan tipe data untuk nilai yang akan dikembalikan.
Apabila fungsi tersebut tidak memiliki nilai kembalian, maka kita harus menggunakan tipe
void untuk menyatakan kalau fungsi tersebut tidak akan mengembalikan nilai apa-apa.
Contoh:
void nama_fungsi(){
cout << "Ini adalah sebuah fungsi\n";
}
Tergantung dari fungsi yang dibuat. Jika fungsi itu membutuhkan input, maka kita harus
membuatkan paramter.
Fungsi yang tidak menerima input, kadang juga disebut dengan prosedur.
Okee..
https://www.petanikode.com/cpp-fungsi/ 3/18
8/15/23, 10:02 AM Belajar C++ #10: Mengenal Fungsi dan Prosedur pada C++
Silahkan buat file baru bernama contoh_fungsi.cpp kemudian isi dengan kode berikut:
#include <iostream>
using namespace std;
int main(){
// memanggil fungsi say_hello()
say_hello();
return 0;
}
Hasilnya:
Fungsi say_hello() dapat kita panggil berulang kali pada fungsi main() .
Contoh:
#include <iostream>
using namespace std;
int main(){
// memanggil fungsi say_hello()
say_hello();
say_hello();
say_hello();
return 0;
}
Maka hasilnya:
Jadi, cukup buat fungsi satu kali. Kita bisa panggil berkali-kali.
Pada contoh di atas, kita membuat fungsi dengan cara mendefinisikan langsung fungsinya.
Contoh:
#include <iostream>
using namespace std;
// deklarasi fungsi
void say_hello();
https://www.petanikode.com/cpp-fungsi/ 5/18
8/15/23, 10:02 AM Belajar C++ #10: Mengenal Fungsi dan Prosedur pada C++
int main(){
// memanggil fungsi say_hello()
say_hello();
say_hello();
say_hello();
return 0;
}
// Definisi fungsi
void say_hello(){
cout << "Hello Selamat Datang!\n";
}
Jika kita membuat fungsi secara definisi, kita harus membuat fungsinya di atas fungsi main.
Parameter adalah variabel yang menyimpan nilai untuk diproses di dalam fungsi.
Contoh:
Perhatikan!
https://www.petanikode.com/cpp-fungsi/ 6/18
8/15/23, 10:02 AM Belajar C++ #10: Mengenal Fungsi dan Prosedur pada C++
Berikut caranya:
say_hello("Petani Kode");
Perhatikan!
Silahkan buat program baru dengan nama fungsi_parameter.cpp , kemudian isi dengan
kode berikut:
#include <iostream>
using namespace std;
int main(){
say_hello("Dian");
say_hello("Petani");
say_hello("Kode");
return 0;
}
Hasilnya:
https://www.petanikode.com/cpp-fungsi/ 7/18
8/15/23, 10:02 AM Belajar C++ #10: Mengenal Fungsi dan Prosedur pada C++
Hasil outputnya akan menyesuaikan dengan nilai parameter yang kita berikan ke fungsi.
Gampang…
Buatlah program baru barnama dua_param.c , kemudian isi dengan kode berikut:
#include <iostream>
using namespace std;
int main(){
add(1, 4);
add(8, 2);
add(3, 2);
return 0;
}
https://www.petanikode.com/cpp-fungsi/ 8/18
8/15/23, 10:02 AM Belajar C++ #10: Mengenal Fungsi dan Prosedur pada C++
Hasilnya:
Pada contoh di atas, kita memberikan nilai input ke fungsi berupa integer…
Fungsi ini tidak mengembalikan apa-apa, karena tipe data yang diberikan pada nilai
kembalian adalah void .
Mengapa?
Karena kadang kita membutuhkan hasil dari fungsi tersebut untuk digunakan pada proses
berikutnya.
Kita bisa menggunakan kata kunci return untuk mengembalikan nilai dari fungsi.
Contoh:
https://www.petanikode.com/cpp-fungsi/ 9/18
8/15/23, 10:02 AM Belajar C++ #10: Mengenal Fungsi dan Prosedur pada C++
Maka fungsi add() akan mengembalikan nilai berupa integer dari hasil penjumlahan nilai a
dan b .
Silahkan buat program baru bernama fungsi_bagi.cpp , kemudian isi dengan kode berikut:
#include <iostream>
using namespace std;
int main(){
printf("Hasil 5/2: %.2f\n", bagi(5, 2));
return 0;
}
Hasilnya:
https://www.petanikode.com/cpp-fungsi/ 10/18
8/15/23, 10:02 AM Belajar C++ #10: Mengenal Fungsi dan Prosedur pada C++
Variabel lokal dan variabel global akan sering kita temukan dalam pembuatan fungsi.
Variabel global adalah variabel yang bisa diakses dari semua fungsi. Sedangkan variabel lokal
adalah variabel yang hanya bisa diakses dari dalam fungsi itu sendiri.
Contoh:
#include <iostream>
using namespace std;
int main(){
// membuat variabel lokal
int nilai = 7;
// mencetak variabel
printf("Nilai: %d\n", nilai);
return 0;
}
Lalu di dalam fungsi main() , kita membuat variabel lagi bernama nilai dengan nilai yang
berbeda.
Lalu, pertanyaanya:
Jawabannya: 7
Mengapa bisa 7 ?
https://www.petanikode.com/cpp-fungsi/ 11/18
8/15/23, 10:02 AM Belajar C++ #10: Mengenal Fungsi dan Prosedur pada C++
Sekarang coba hapus variabel lokal yang ada di dalam main, sehingga akan menjadi seperti
ini:
#include <iostream>
using namespace std;
int main(){
// membuat variabel lokal
//int nilai = 7;
// mencetak variabel
printf("Nilai: %d\n", nilai);
return 0;
}
Maka hasil outputnya akan 9 . Karena variabel yang dipakai adalah variabel global.
Pass by value dan pass by reference adalah cara untuk memberikan nilai pada paramaeter.
Biasanya kita langsung memberikan nilai kepada parameter dengan cara seperti ini:
kali_dua(4);
Ini disebut pass by value, karena di sana kita memberikan nilai 4 secara langsung.
kali_dua(&nama_variabel);
Contoh:
https://www.petanikode.com/cpp-fungsi/ 12/18
8/15/23, 10:02 AM Belajar C++ #10: Mengenal Fungsi dan Prosedur pada C++
#include <iostream>
using namespace std;
int main(){
int angka = 9;
// memanggil fungsi
kali_dua(&angka);
return 0;
}
Hasilnya:
Fungsi kali_dua() memiliki parameter berupa pointer, artinya kita harus memberikan
alamat memori untuk pointer ini.
Pada saat pemanggilan, fungsi kali_dua() kita isi parameternya dengan alamat memori dari
variabel angka .
https://www.petanikode.com/cpp-fungsi/ 13/18
8/15/23, 10:02 AM Belajar C++ #10: Mengenal Fungsi dan Prosedur pada C++
Maka hasilnya nilai variabel angka akan dikalikan dengan 2 berdasarkan rumus pada fungsi
yang kita berikan.
Maksudnya?
Biasanya kita memanggil fungsi pada fungsi main atau fungsi yang lainnya. Namun, pada
fungsi rekursif…
#include <iostream>
using namespace std;
// deklarasi fungsi
int sum(int n);
int main(){
int number, result;
result = sum(number);
return 0;
}
// definisi fungsi
int sum(int num){
if (num!=0)
return num + sum(num-1); // fungsi sum() memanggil dirinya sendiri
else
return num;
}
https://www.petanikode.com/cpp-fungsi/ 14/18
8/15/23, 10:02 AM Belajar C++ #10: Mengenal Fungsi dan Prosedur pada C++
Hasilnya:
1 + 2 + 3 + 4 + 5 + 6 = 21
Apa Selanjutnya?
Intinya, saat kita membuat program yang besar dan kompleks.. kita harus menggunakan
fungsi.
Biar kode program yang kita tulis tidak berantakan dan mudah dibaca.
Selanjutnya cobalah membuat program lebih banyak lagi dengan fungsi di C++.
https://www.petanikode.com/cpp-fungsi/ 15/18
8/15/23, 10:02 AM Belajar C++ #10: Mengenal Fungsi dan Prosedur pada C++
13 Komentar
📫 Newsletter..
Mau dapat tips belajar coding, info teknologi, dan perkembangan karir sebagai
programmer?
Subscribe
🔥 Artikel Terbaru
https://www.petanikode.com/cpp-fungsi/ 16/18
8/15/23, 10:02 AM Belajar C++ #10: Mengenal Fungsi dan Prosedur pada C++
Cara Fetch API dengan Alpinejs untuk Ambil Data dari Backend
24 Nov 2022 • baca 4 menit
https://www.petanikode.com/cpp-fungsi/ 17/18
8/15/23, 10:02 AM Belajar C++ #10: Mengenal Fungsi dan Prosedur pada C++
Tutorial PHP
Tutorial Python
Instagram FAQs
Twitter Contact
Youtube Channel
Telegram Channel
Ikuti Kami di
https://www.petanikode.com/cpp-fungsi/ 18/18