FUNGSI
Fungsi ada 2: Fungsi yang tidak mengembalikan nilai Fungsi yang mengembalikan nilai Parameter/argumen Yaitu nilai yang dilewatkan Berdasarkan letaknya: parameter formal (pada fungsi) Parameter aktual (parameter yang disertakan pd wkt pemanggilan)
Variabel dalam fungsi: Variabel lokal (pada fungsi. Berlaku hanya pd fungsi tsb) Variabel global (pada program utama. Berlaku di seluruh bagian program) Berdasarkan nilainya, parameter dibagi 2: Parameter call by value (fungsiprogram utama) Parameter call by reference (program utama fungsi)
REKURSI Rekursi adalah suatu proses yang bisa memanggil dirinya sendiri. Contoh aplikasi rekursi Fungsi pangkat Faktorial Fibonacci Menara Hanoi
Contoh Rekursi Faktorial int faktorial(int n) {if (n == 1) return 1; else return n * faktorial (n-1);} main() { int n; cout<<"Faktorial = "; cin>>n; cout<<"hasil = "<<faktorial(n);}
Fungsi Pangkat int pangkat (int x,int y) {if(y==1) return x; else return(x*pangkat(x,y-1));} main() {int x,y; cout<<"Menghitung x pangkat y "<<endl; cout<<"X : ";cin >> x; cout<<"Y : ";cin >> y; cout<<x<<" Pangkat "<<y<<" = "<<pangkat(x,y)<<endl;}
Fibonacci int fib(int n) { if (n == 0) {return 0;} else if (n == 1) {return 1;} else {return fib(n-1) + fib(n-2); }} main() {int x,i=1; cout<<"jumlah deret yang diinginkan = "; cin>>x; while (i <= x) { cout<<fib(i)<<" "; i++;
Menara Hanoi void Hanoi(int n,char asal,char bantu,char tujuan) {if (n == 0) Hanoi(n-1,asal,tujuan,bantu); cout<<"Pindahkan balok " <<n<<" dari "<<asal<<" ke "<<tujuan<<endl; Hanoi(n-1,bantu,asal,tujuan); } main() {int n; cout<<"Jumlah balok ? "; cin>>n; Hanoi(n,'a','b','c');