Tujuan :
Mahasiswa dapat menggunakan Struktur C ++ , Struktur dan Fungsi, dalam pembuatan program.
Sebagai latihan untuk meningkatkan kemampuan dalam membuat program.
C ++ Matematika
C ++ memiliki banyak fungsi yang memungkinkankita melakukan tugas matematika pada angka.
Max dan min
Fungsi max (x, y) dapat digunakan untuk mencari nilai tertinggi dari x dan y:
Contoh
cout << maks (5, 10);
Dan fungsi min (x, y) dapat digunakan untuk mencari nilai terendah dari x dan y:
Contoh
cout << min (5, 10);
C ++ <cmath> Header
Fungsi lain, seperti sqrt (akar kuadrat), round (membulatkan angka) dan log (logaritma natural), dapat ditemukan di file header <cmath>:
Contoh
// Sertakan perpustakaan cmath
#include <cmath>
cout << sqrt (64);
cout << bulat (2.6);
cout << log (2);
Fungsi Matematika Lainnya
Daftar fungsi Matematika populer lainnya (dari pustaka <cmath>) dapat ditemukan pada tabel di bawah ini:
Deskripsi fungsi
Modul Praktek Bahasa C++ Shell Marto Sihombing abs (x) Mengembalikan nilai absolut dari x
acos (x) Menampilkan arccosine dari x, dalam radian asin (x) Menampilkan busur dari x, dalam radian atan (x) Mengembalikan arctangen dari x, dalam radian cbrt (x) Mengembalikan akar pangkat tiga dari x
ceil (x) Menampilkan nilai x yang dibulatkan ke bilangan bulat terdekat cos (x) Mengembalikan kosinus x, dalam radian
cosh (x) Mengembalikan kosinus hiperbolik x, dalam radian exp (x) Mengembalikan nilai dari Ex
expm1 (x) Mengembalikan ex -1
fabs (x) Mengembalikan nilai absolut dari x mengambang fdim (x, y) Mengembalikan selisih positif antara x dan y
floor (x) Menampilkan nilai x yang dibulatkan ke bawah ke bilangan bulat terdekat hypot (x, y) Mengembalikan sqrt (x2 + y2) tanpa overflow atau underflow
perantara
fma (x, y, z) Mengembalikan x * y + z tanpa kehilangan presisi fmax (x, y) Mengembalikan nilai tertinggi dari x dan y mengambang fmin (x, y) Mengembalikan nilai terendah dari x dan y mengambang fmod (x, y) Mengembalikan sisa titik mengambang dari x / y
pow (x, y) Mengembalikan nilai x pangkat y
sin (x) Mengembalikan sinus dari x (x dalam radian) sinh (x) Mengembalikan sinus hiperbolik dari nilai ganda tan (x) Mengembalikan tangen sebuah sudut
tanh (x) Mengembalikan tangen hiperbolik dari nilai ganda
Gunakan fungsi yang benar untuk mencetak nilai x dan y tertinggi.
int x = 5;
int y = 10;
cout << (x, y);
Mulailah Latihan
C ++ Boolean
Sangat sering, dalam pemrograman,kita membutuhkan tipe data yang hanya dapat memiliki satu dari dua nilai, seperti:
YA TIDAK
AKTIF / NONAKTIF BENAR SALAH
Untuk ini, C ++ memiliki tipe data bool, yang dapat mengambil nilai true (1) atau false (0).
Nilai Boolean
Variabel boolean dideklarasikan dengan kata kunci bool dan hanya dapat mengambil nilai
Modul Praktek Bahasa C++ Shell Marto Sihombing benar atau salah:
Contoh
bool isCodingFun = true;
bool isFishTasty = false;
cout << isCodingFun; // Keluaran 1 (benar) cout << isFishTasty; // Keluaran 0 (salah)
Dari contoh di atas,kita dapat membaca bahwa nilai benar menghasilkan 1, dan salah mengembalikan 0.
Namun, lebih umum mengembalikan nilai boolean dari ekspresi boolean (lihat halaman berikutnya).
Ekspresi Boolean
Ekspresi Boolean adalah ekspresi C ++ yang mengembalikan nilai boolean: 1 (true) atau 0 (false).
Anda dapat menggunakan operator perbandingan, seperti operator lebih besar dari (>) untuk mengetahui apakah ekspresi (atau variabel) benar:
Contoh int x = 10;
int y = 9;
cout << (x> y); // mengembalikan 1 (benar), karena 10 lebih tinggi dari 9 Atau bahkan lebih mudah:
Contoh
cout << (10> 9); // mengembalikan 1 (benar), karena 10 lebih tinggi dari 9
Dalam contoh di bawah ini, kami menggunakan operator sama dengan (==) untuk mengevaluasi ekspresi:
Contoh int x = 10;
cout << (x == 10); // mengembalikan 1 (benar), karena nilai x sama dengan 10 Contoh
cout << (10 == 15); // mengembalikan 0 (salah), karena 10 tidak sama dengan 15 Boolean adalah dasar untuk semua perbandingan dan ketentuan C ++.
Anda akan mempelajari lebih lanjut tentang kondisi (jika ... lain) di bab berikutnya.
Latihan C ++
Uji Dirikita Dengan Latihan Olahraga:
Isi bagian yang hilang untuk mencetak nilai 1 (untuk benar) dan 0 (untuk salah):
isCodingFun = true;
Modul Praktek Bahasa C++ Shell Marto Sihombing isFishTasty = false;
cout <<;
cout <<;
Struktur dan fungsi
Fungsi adalah blok kode yang hanya berjalan saat dipanggil.
Anda dapat mengirimkan data, yang dikenal sebagai parameter, ke dalam suatu fungsi.
Fungsi digunakan untuk melakukan tindakan tertentu, dan penting untuk menggunakan kembali kode: Tentukan kode sekali, dan gunakan berkali-kali.
Buat Fungsi
C ++ menyediakan beberapa fungsi yang telah ditentukan sebelumnya, seperti main (), yang digunakan untuk mengeksekusi kode. Tetapi Kita juga dapat membuat fungsi Kita sendiri untuk melakukan tindakan tertentu.
Untuk membuat (sering disebut sebagai deklarasi) fungsi, tentukan nama fungsinya, diikuti dengan tanda kurung ():
Sintaksis
void myFunction () {
// kode yang akan dieksekusi }
Contoh Dijelaskan myFunction () adalah nama fungsinya
void berarti bahwa fungsi tersebut tidak memiliki nilai pengembalian.kita akan mempelajari lebih lanjut tentang nilai kembali nanti di bab berikutnya
di dalam fungsi (tubuh), tambahkan kode yang mendefinisikan apa yang harus dilakukan fungsi tersebut
Panggil Fungsi
Fungsi yang dideklarasikan tidak segera dijalankan. Mereka "disimpan untuk digunakan nanti", dan akan dijalankan nanti, ketika dipanggil.
Untuk memanggil fungsi, tulis nama fungsi diikuti dengan dua tanda kurung () dan titik koma;
Dalam contoh berikut, myFunction () digunakan untuk mencetak teks (tindakan), saat dipanggil:
Contoh
Modul Praktek Bahasa C++ Shell Marto Sihombing Di dalam main, panggil myFunction ():
// Buat fungsi
void myFunction () {
cout << "Aku baru saja dieksekusi!";
}
int main () {
myFunction (); // panggil fungsinya kembali 0;
}
// Keluaran "Aku baru saja dieksekusi!"
Suatu fungsi dapat dipanggil beberapa kali:
Contoh
void myFunction () {
cout << "Aku baru saja dieksekusi! \ n";
}
int main () { myFunction ();
myFunction ();
myFunction ();
kembali 0;
}
// Aku baru saja dieksekusi!
// Aku baru saja dieksekusi!
// Aku baru saja dieksekusi!
Deklarasi dan Definisi Fungsi Fungsi C ++ terdiri dari dua bagian:
Deklarasi: nama fungsi, tipe kembalian, dan parameter (jika ada) Definisi: tubuh fungsi (kode yang akan dieksekusi)
void myFunction () {// deklarasi // tubuh dari fungsi (definisi) }
Catatan: Jika fungsi yang ditentukan pengguna, seperti myFunction () dideklarasikan setelah fungsi main (), kesalahan akan terjadi. Itu karena C ++ bekerja dari atas ke bawah;
yang berarti bahwa jika fungsi tidak dideklarasikan di atas main (), program tidak menyadarinya:
Contoh int main () { myFunction ();
Modul Praktek Bahasa C++ Shell Marto Sihombing kembali 0;
}
void myFunction () {
cout << "Aku baru saja dieksekusi!";
}
// Kesalahan
Namun, dimungkinkan untuk memisahkan deklarasi dan definisi fungsi - untuk pengoptimalan kode.
Anda akan sering melihat program C ++ yang memiliki deklarasi fungsi di atas main (), dan definisi fungsi di bawah main (). Ini akan membuat kode lebih terorganisir dan lebih mudah dibaca:
Contoh
// Deklarasi fungsi void myFunction ();
// Metode utama int main () {
myFunction (); // panggil fungsinya kembali 0;
}
// Definisi fungsi void myFunction () {
cout << "Aku baru saja dieksekusi!";
}
Latihan C ++
Uji Dirikita Dengan Latihan Olahraga:
Buat fungsi bernama myFunction dan panggil di dalam main ().
Void () {
cout << "Aku baru saja dieksekusi!";
}
int main () {
;
kembali 0;
}
Parameter dan Argumen
Informasi dapat diteruskan ke fungsi sebagai parameter. Parameter bertindak sebagai variabel di dalam fungsi.
Modul Praktek Bahasa C++ Shell Marto Sihombing
Parameter ditentukan setelah nama fungsi, di dalam tanda kurung.kita dapat menambahkan parameter sebanyak yangkita inginkan, cukup pisahkan dengan koma:
Sintaksis
void functionName (parameter1, parameter2, parameter3) { // kode yang akan dieksekusi
}
Contoh berikut memiliki fungsi yang mengambil string bernama fname sebagai parameter.
Ketika fungsi dipanggil, kami meneruskan nama depan, yang digunakan di dalam fungsi untuk mencetak nama lengkap:
Contoh
void myFunction (string fname) { cout << fname << "Refsnes \ n";
}
int main () {
myFunction ("Liam");
myFunction ("Jenny");
myFunction ("Anja");
kembali 0;
}
// Liam Refsnes // Jenny Refsnes // Anja Refsnes
Ketika parameter dilewatkan ke fungsi, itu disebut argumen. Jadi, dari contoh di atas:
fname adalah parameter, sedangkan Liam, Jenny dan Anja adalah argumen.
Nilai Parameter Default
Anda juga dapat menggunakan nilai parameter default, dengan menggunakan tanda sama dengan (=).
Jika kita memanggil fungsi tanpa argumen, itu menggunakan nilai default ("Norwegia"):
Contoh
void myFunction (string country = "Norwegia") { cout << negara << "\ n";
}
int main () {
myFunction ("Swedia");
myFunction ("India");
myFunction ();
myFunction ("USA");
kembali 0;
Modul Praktek Bahasa C++ Shell Marto Sihombing }
// Swedia // India // Norway // AS
Parameter dengan nilai default, sering disebut sebagai "parameter opsional". Dari contoh di atas, negara adalah parameter opsional dan "Norwegia" adalah nilai default.
Beberapa Parameter
Di dalam fungsi,kita dapat menambahkan parameter sebanyak yang kita inginkan:
Contoh
void myFunction (string fname, int age) {
cout << fname << "Refsnes." << usia << "tahun. \ n";
}
int main () {
myFunction ("Liam", 3);
myFunction ("Jenny", 14);
myFunction ("Anja", 30);
kembali 0;
}
// Liam Refsnes. 3 tahun.
// Jenny Refsnes. 14 tahun.
// Anja Refsnes. 30 tahun.
Perhatikan bahwa ketikakita bekerja dengan beberapa parameter, pemanggilan fungsi harus memiliki jumlah argumen yang sama karena ada parameter, dan argumen harus diteruskan dalam urutan yang sama.
Kembalikan Nilai
Kata kunci void, yang digunakan dalam contoh sebelumnya, menunjukkan bahwa fungsi tersebut tidak boleh mengembalikan nilai. Jikakita ingin fungsi mengembalikan nilai,kita dapat menggunakan tipe data (seperti int, string, dll.) Sebagai ganti void, dan gunakan kata kunci return di dalam fungsi:
Contoh
int myFunction (int x) { kembali 5 + x;
}
int main () {
cout << myFunction (3);
kembali 0;
Modul Praktek Bahasa C++ Shell Marto Sihombing }
// Keluaran 8 (5 + 3)
Contoh ini mengembalikan jumlah fungsi dengan dua parameter:
Contoh
int myFunction (int x, int y) { kembali x + y;
}
int main () {
cout << myFunction (5, 3);
kembali 0;
}
// Keluaran 8 (5 + 3)
Anda juga dapat menyimpan hasil dalam variabel:
Contoh
int myFunction (int x, int y) { kembali x + y;
}
int main () {
int z = myFunction (5, 3);
cout << z;
kembali 0;
}
// Keluaran 8 (5 + 3) Lewati Referensi
Dalam contoh dari halaman sebelumnya, kami menggunakan variabel normal saat kami mengirimkan parameter ke suatu fungsi.kita juga dapat meneruskan referensi ke fungsi tersebut. Ini bisa berguna saatkita perlu mengubah nilai argumen:
Contoh
batal swapNums (int & x, int & y) { int z = x;
x = y;
y = z;
}
int main () { int firstNum = 10;
int secondNum = 20;
Modul Praktek Bahasa C++ Shell Marto Sihombing cout << "Sebelum penukaran:" << "\ n";
cout << firstNum << secondNum << "\ n";
// Panggil fungsi, yang akan mengubah nilai firstNum dan secondNum swapNums (firstNum, secondNum);
cout << "Setelah penukaran:" << "\ n";
cout << firstNum << secondNum << "\ n";
kembali 0;
}
Fungsi Overloading
Dengan kelebihan beban fungsi, beberapa fungsi dapat memiliki nama yang sama dengan parameter berbeda:
Contoh
int myFunction (int x) float myFunction (float x)
double myFunction (double x, double y)
Perhatikan contoh berikut, yang memiliki dua fungsi yang menambahkan bilangan dengan tipe berbeda:
Contoh
int plusFuncInt (int x, int y) { kembali x + y;
}
double plusFuncDouble (double x, double y) { kembali x + y;
}
int main () {
int myNum1 = plusFuncInt (8, 5);
double myNum2 = plusFuncDouble (4.3, 6.26);
cout << "Int:" << myNum1 << "\ n";
cout << "Double:" << myNum2;
kembali 0;
}
Daripada menentukan dua fungsi yang harus melakukan hal yang sama, lebih baikkita membebani satu fungsi.
Dalam contoh di bawah ini, kami membebani fungsi plusFunc agar berfungsi baik untuk int dan double:
Contoh
int plusFunc (int x, int y) {
Modul Praktek Bahasa C++ Shell Marto Sihombing kembali x + y;
}
double plusFunc (double x, double y) { kembali x + y;
}
int main () {
int myNum1 = plusFunc (8, 5);
double myNum2 = plusFunc (4.3, 6.26);
cout << "Int:" << myNum1 << "\ n";
cout << "Double:" << myNum2;
kembali 0;
}
C++ Function and Array
C++ String
Soal Modul ke – 9
Masalah : buatlah Program untuk array string :
Solusi, Algoritma
Flowchart
Program
Belajar C++ #10: Mengenal Fungsi dan Prosedur pada C++
Dalam pemrograman, fungsi atau prosedur sering digunakan untuk membungkus program menjadi bagian-bagian kecil. Tujuannya agar program tidak menumpuk pada fungsi main() saja. Bayangkan saja, kalau program kita tambah besar dan kompleks. Kalau semua kodenya ditulis di dalam fungsi main(), maka kita akan kesulitan membacanya.
Karena itu, kita harus menggunakan Fungsi.
Apa itu fungsi?
dan Bagaimana cara menggunakannya di C++?
Apa itu Fungsi?
Fungsi adalah sub-program yang bisa digunakan kembali baik di dalam program itu sendiri, maupun di program yang lain.
Fungsi dapat menerima input dan menghasilkan output.
Contoh fungsi yang sering kita buat adalah fungsi main().
Fungsi ini memang wajib ada di setiap program C++, karena fungsi inilah yang akan dieksekusi pertama kali saat program berjalan.
Seperti yang saya bilang tadi:
“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.
Bagaimana cara buatnya?
Modul Praktek Bahasa C++ Shell Marto Sihombing Cara Membuat Fungsi pada Bahasa 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";}
Lalu untuk parameter bersifat opsional, boleh ada boleh tidak.
Tergantung dari fungsi yang dibuat. Jika fungsi itu membutuhkan input, maka kita harus membuatkan paramter.
Tapi kalau tidak menerima input apapun, ya tidak perlu dibuat.
Fungsi yang tidak menerima input, kadang juga disebut dengan prosedur.
Sekarang mari kita coba membuat fungsi pada program C++.
Silahkan buat file baru bernama contoh_fungsi.cpp kemudian isi dengan kode berikut:
#include <iostream>
using namespace std;
// membuat fungsi say_hello() void say_hello(){
cout << "Hello Selamat Datang!\n";
}
int main(){
// memanggil fungsi say_hello() say_hello();
return 0;
}
Fungsi say_hello() dapat kita panggil berulang kali pada fungsi main().
Contoh:
#include <iostream>
using namespace std;
// membuat fungsi say_hello() void say_hello(){
cout << "Hello Selamat Datang!\n";
}
int main(){
// memanggil fungsi say_hello() say_hello();
say_hello();
say_hello();
Modul Praktek Bahasa C++ Shell Marto Sihombing return 0;
}
Jadi, cukup buat fungsi satu kali. Kita bisa panggil berkali-kali.
Deklarasi dan Definisi Fungsi
Pada contoh di atas, kita membuat fungsi dengan cara mendefinisikan langsung fungsinya.
Kita juga bisa membuatnya dengan deklarasi.
Contoh:
#include <iostream>
using namespace std;
// deklarasi fungsi void say_hello();
int main(){
// memanggil fungsi say_hello() say_hello();
say_hello();
say_hello();
return 0;
}
// Definisi fungsi void say_hello(){
cout << "Hello Selamat Datang!\n";
}
Apa bedanya dengan yang tadi?
Jika kita membaut fungsi secara definisi, kita harus membuat fungsinya di atas fungsi main.
Jika dibuat di bawah fungsi main, maka program akan error.
Soalnya program C++ dieksekusi dari atas ke bawah.
Tapi berkat deklarasi, masalah ini bisa teratasi.
Jadi kita mau pilih cara yang mana?
Deklarasi dulu atau langsung definisikan fungsinya?
Fungsi dengan Parameter
Parameter adalah variabel yang menyimpan nilai untuk diproses di dalam fungsi.
Parameter berfungsi untuk menyimpan nilai yang akan diinputkan ke fungsi.
Contoh:
void say_hello(string name){
cout << "Hello " << name << "!\n";
}
Perhatikan!
Modul Praktek Bahasa C++ Shell Marto Sihombing name adalah sebuah parameter dengan tipe string.
Parameter ini akan menyimpan nilai yang diinputkan ke fungsi say_hello().
Lalu, bagaimana cara kita memberikan input ke fungsi?
Berikut caranya:
say_hello("Petani Kode");
Perhatikan!
"Petani Kode" adalah nilai yang akan kita berikan ke fungsi.
Biar lebih paham… mari kita coba dalam program.
Silahkan buat program baru dengan nama fungsi_parameter.cpp, kemudian isi dengan kode berikut:
#include <iostream>
using namespace std;
void say_hello(string name){
cout << "Hello " << name << "!\n";
}
int main(){
say_hello("Dian");
say_hello("Petani");
say_hello("Kode");
return 0;
}
Hasil outputnya akan menyesuaikan dengan nilai parameter yang kita berikan ke fungsi.
Lalu bagaimana kalau ada lebih dari satu parameter?
Tinggal ditambahkan dan dipisah dengan tanda koma seperti ini:
void add(int a, int b){
printf("%d + %d = %d\n", a, b, a+b);
}
Mari kita coba…
Buatlah program baru barnama dua_param.c, kemudian isi dengan kode berikut:
#include <iostream>
using namespace std;
void add(int a, int b){
printf("%d + %d = %d\n", a, b, a+b);
}
int main(){
add(1, 4);
add(8, 2);
add(3, 2);
return 0;
}
Modul Praktek Bahasa C++ Shell Marto Sihombing Fungsi yang Mengembalikan Nilai
Pada contoh di atas, kita memberikan nilai input ke fungsi berupa integer…
…lalu di dalamnya dilakukan operasi penjumlahan.
void add(int a, int b){
printf("%d + %d = %d\n", a, b, a+b);
}
Fungsi ini tidak mengembalikan apa-apa, karena tipe data yang diberikan pada nilai kembalian adalah void.
Fungsi juga kadang harus menghasilkan output.
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:
int add(int a, int b){
return a+b;
}
Maka fungsi add() akan mengembalikan nilai berupa integer dari hasil penjumlahan nilai a dan b.
Mari kita coba contoh yang lain…
Silahkan buat program baru bernama fungsi_bagi.c, kemudian isi dengan kode berikut:
#include <iostream>
using namespace std;
float bagi(int a, int b){
float hasil = (float)a / (float)b;
return hasil;
}
int main(){
printf("Hasil 5/2: %.2f\n", bagi(5, 2));
return 0;
}
Variabel Lokal dan Variabel Global
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>
Modul Praktek Bahasa C++ Shell Marto Sihombing using namespace std;
// membuat variabel global int nilai = 9;
int main(){
// membuat variabel lokal int nilai = 7;
// mencetak variabel printf("Nilai: %d\n", nilai);
return 0;
}
Pada contoh di atas, kita membuat variabel global bernama nilai.
Fungsi ini berada di luar fungsi main.
Lalu di dalam fungsi main(), kita membuat variabel lagi bernama nilai dengan nilai yang berbeda.
Variabel yang ada di dalam fungsi main() adalah variabel lokal.
Lalu, pertanyaanya:
Berapakah hasil outputnya?
Jawabannya: 7 Mengapa bisa 7?
Karena variabel nilai kita buat ulang di dalam fungsi main. Sekarang coba hapus variabel lokal yang ada di dalam main, sehingga akan menjadi seperti ini:
#include <iostream>
using namespace std;
// membuat variabel global int nilai = 9;
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.
Kalau tidak percaya, coba buktikan aja sendiri!
Modul Praktek Bahasa C++ Shell Marto Sihombing Pass by Value dan Pass by Reference
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.
Nah kalau seperti ini:
kali_dua(&nama_variabel);
Ini disebut pass by reference, karena kita memberikan alamat memori.
Contoh:
#include <iostream>
using namespace std;
void kali_dua(int *num){
*num = *num * 2;
}
int main(){
int angka = 9;
// memanggil fungsi kali_dua(&angka);
// mencetak isi variabel // setelah fungsi dipanggil
cout << "isi variabel angka = " << angka << endl;
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.
Maka hasilnya nilai variabel angka akan dikalikan dengan 2 berdasarkan rumus pada fungsi yang kita berikan.
Fungsi Rekursif pada C++
Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri.
Maksudnya? Biasanya kita memanggil fungsi pada fungsi main atau fungsi yang lainnya.
Namun, pada fungsi rekursif…fungsi itu akan memanggil dirinya sendiri di dalam tubuh fungsi.
Coba perhatikan contoh berikut:
#include <iostream>
using namespace std;
Modul Praktek Bahasa C++ Shell Marto Sihombing // deklarasi fungsi
int sum(int n);
int main(){
int number, result;
printf("Enter a positive integer: ");
scanf("%d", &number);
result = sum(number);
printf("sum = %d", result);
return 0;
}
// definisi fungsi int sum(int num){
if (num!=0)
return num + sum(num-1); // fungsi sum() memanggil dirinya sendiri else
return num;
}
Hasilnya:
Mengapa hasilnya bisa 21?
Karena kita menginputkan nilai 6, maka akan sama dengan:
1 + 2 + 3 + 4 + 5 + 6 = 21
Modul Praktek Bahasa C++ Shell Marto Sihombing