Fungsi Function Teknik pemrograman Teknik pemrograman terstruktur Teknik

  • Slides: 12
Download presentation
Fungsi Function

Fungsi Function

Teknik pemrograman • Teknik pemrograman terstruktur • Teknik pemrograman fungsional

Teknik pemrograman • Teknik pemrograman terstruktur • Teknik pemrograman fungsional

Fungsi • Jenis Fungsi (subprogram/prosedur/subrutin): – Fungsi yang tidak mengembalikan nilai (procedure/sub) – Fungsi

Fungsi • Jenis Fungsi (subprogram/prosedur/subrutin): – Fungsi yang tidak mengembalikan nilai (procedure/sub) – Fungsi yang mengembalikan nilai (fungsi) • • Program utama memanggil Parameter/argumen Variabel lokal dan global

Parameter • Berdasarkan letak – Formal (parameter yang terdapat pada fungsi) – Aktual (parameter

Parameter • Berdasarkan letak – Formal (parameter yang terdapat pada fungsi) – Aktual (parameter disertakan pada waktu pemanggilan) • Berdasarkan pemanggilan – Call by value (parameter input) – Call by reference (parameter output atau I/O)

 • Variabel lokal : variabel yang terdapat pada fungsi yang nilainya hanya berlaku

• Variabel lokal : variabel yang terdapat pada fungsi yang nilainya hanya berlaku pada fungsi itu saja • Variabel global: variabel yang terdapat pada program utama yang nilainya berlaku di seluruh bagian program

Permrograman testruktur (tanpa fungsi) main() { int a=4, b=5, c ; c = a

Permrograman testruktur (tanpa fungsi) main() { int a=4, b=5, c ; c = a + b; cout<<c; } Tidak mengembalikan nilai void hitung() { int a=4, b=5, c ; c = a + b; cout<<c; } main() { hitung(); } Mengembalikan nilai int hitung() { int a=4, b=5 ; return a + b; } main() { cout<<hitung(); }

Parameter call by value 1. 2. void Luas(int panjang, int lebar) { int luas;

Parameter call by value 1. 2. void Luas(int panjang, int lebar) { int luas; 3. 4. 5. } 6. 7. 8. 9. int Keliling(int panjang, int lebar) { int keliling; return(panjang+lebar)*2; } luas=panjang*lebar; cout<<luas<<endl; 10. main() 11. { 12. Luas(7, 5); 13. cout<<endl; 14. cout<<Keliling(7, 5); 15. } 1. 2. 3. 4. 5. 6. 7. Berapa fungsi? Nama fungsinya? Baris 10 -15 disebut? Variabel lokal di baris? Variabel global di baris? Parameter aktual di baris? Parameter formal di baris?

Parameter call by reference void Luas(int panjang, int lebar, int *luas ) { *luas=panjang*lebar;

Parameter call by reference void Luas(int panjang, int lebar, int *luas ) { *luas=panjang*lebar; cout<<*luas<<endl; } int Keliling(int panjang, int lebar) { int keliling; return(panjang+lebar)*2; } main() { int panjang=7, lebar=4, luas; Luas(panjang, lebar, &luas); cout<<endl; cout<<Keliling(panjang, lebar); getch( ); }

Contoh Rekursi Faktorial int faktorial(int n) {if (n == 1) return 1; else return

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));

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

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 dari, char bantu, char tujuan) {if (n ==

Menara Hanoi void hanoi(int n, char dari, char bantu, char tujuan) {if (n == 1) cout << "Pindahkan balok dari " << dari << " ke " << tujuan << "n"; else { hanoi(n-1, dari, tujuan, bantu); hanoi(1, dari, bantu, tujuan); hanoi(n-1, bantu, dari, tujuan); }} int main() {int jmlbalok; cout << "Masukkan Jumlah balok: "; cin >> jmlbalok; hanoi(jmlbalok, 'A', 'B', 'C');