1 / 32

Algoritma & Pemograman 2 (C++)

Algoritma & Pemograman 2 (C++). Joko Trianto Joko_Unpam@yahoo.com REF : - Eman SJ - Rhenaldi munir. Chapter 1 Fungsi (Function). Fungsi (Function).

Download Presentation

Algoritma & Pemograman 2 (C++)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritma & Pemograman 2(C++) Joko Trianto Joko_Unpam@yahoo.com REF : - Eman SJ - Rhenaldi munir

  2. Chapter 1Fungsi (Function)

  3. Fungsi (Function) Sekumpulan perintah operasi program yang dapat menerima input dan dapat memberikan hasil/output berupa nilai ataupun sebuah hasil operasi. Kegunaan Fungsi : Mengurangi pengulangan penulisan program yang sama. Program menjadi lebih terstruktur, sehingga mudah dipahami dan lebih dapat dikembangkan.

  4. 1 statement1; ....... statementN; statement1; fn_kesatu(); statement2; Gambaran Fungsi (Function Visualization) statement1; fn_kedua(); ....... fn_ketiga(); statementN; statement3; statement4; statement1; ....... statementN;

  5. 2 statement1; ....... statementN; statement1; fn_kesatu(); statement2; Gambaran Fungsi (Function Visualization) statement1; fn_kedua(); ....... fn_ketiga(); statementN; statement3; statement4; fn_kesatu(); statement1; ....... statementN; Dapat dipanggil/digunakan lebih dari satu kali.

  6. 3 Fungsi dapat memanggil fungsi yang lainnya. statement1; ....... statementN; statement1; fn_kesatu(); statement2; Gambaran Fungsi (Function Visualization) statement1; fn_kedua(); ....... fn_ketiga(); statementN; statement3; statement4; statement1; ....... statementN; fn_kedua();

  7. 4 statement1; ....... statementN; statement1; Fungsi dapat memanggil dirinya sendiri (yang dinamakan rekursif). fn_kesatu(); statement2; Gambaran Fungsi (Function Visualization) statement1; fn_kedua(); ....... fn_ketiga(); statementN; statement3; statement4; statement1; ....... statementN; fn_ketiga();

  8. 1 Fungsi/Function : Contoh <fungsi_garis.cpp> #include <iostream.h> #include <conio.h> void garis() { cout <<"---------------------" <<endl; } void main() { garis(); cout <<"Welcome to the jungle" <<endl; garis(); cout <<"Selamat belajar C++" <<endl; cout <<"Enjoy your life" <<endl; garis(); getch(); } Fungsidapat dipanggil/digunakan lebih dari satu kali.

  9. 2 Fungsi/Function : Contoh <fungsi_fungsipanggilfungsilain.cpp> #include <iostream.h> #include <conio.h> void pindahbaris() { cout <<endl <<endl; } void garis() { cout <<"---------------------" <<endl; pindahbaris(); } void main() { garis(); cout <<"Welcome to the jungle" <<endl; garis(); cout <<"Selamat belajar C++" <<endl; cout <<"Enjoy your life" <<endl; garis(); getch(); } Fungsi dapat memanggil fungsi yang lainnya.

  10. Kepala Fungsi / Deklarasi Fungsi / Inisialisasi Fungsi Badan Fungsi Struktur Fungsi Bentuk umum dari struktur fungsi ditulis dengan bentuk sebagai berikut; <tipe_nilai_balik>nm_fungsi(<tipe parameter1><, tipe parameter2><, ....>) { perintah/statement; } Keterangan: tipe_nilai_balik : Tipe data dari fungsi (digunakan untuk fungsi dengan nilai balik) Optional (boleh ditulis atau tidak). nama_fungsi() : Nama dari fungsi. tipe : Tipe data dari parameter. Optional (boleh ditulis atau tidak, jika tidak ada parameter). parameter: Argumen, boleh diisi atau dibiarkan kosong. Optional (boleh ditulis atau tidak).

  11. Ditulis sebelum fungsi main Prototipe Fungsi Titik Koma Prototipe merupakan uraian dari blok fungsi yang dapat digunakan untuk mendeklarasikan ke kompiler mengenai uraiannya. Sebuah fungsi tidak dapat dipanggil kecuali sudah dideklarasikan, deklarasi fungsi dikenal dengan sebutan prototipe. Prototipe fungsi berupa: <tipe_nilai_balik>nm_fungsi(<tipe parameter1><, tipe parameter2><, ....>); Keterangan: tipe_nilai_balik : Tipe data dari fungsi (digunakan untuk fungsi dengan nilai balik) Optional (boleh ditulis atau tidak). nama_fungsi() : Nama dari fungsi. tipe : Tipe data dari parameter. Optional (boleh ditulis atau tidak, jika tidak ada parameter). Parameter : Argumen, boleh diisi atau dibiarkan kosong. Optional (boleh ditulis atau tidak). ;: Titik koma.

  12. 1 Sebuah program yang besar biasanya disusun atas sejumlah bagian yang lebih kecil yang dinamakan subrutin atau subprogram Dalam beberapa bahasa pemograman Fungsi Tanpa Nilai Balik Subrutin yang menghasilkan nilai balik ketika subrutin dipanggil Subrutin yang tidak menghasilkan nilai balik ketika subrutin dipanggil Fungsi Tanpa Nilai Balik = sebuah Prosedur Dalam bahasa C++, fungsi = fungsi dan prosedur = fungsi Fungsi tanpa nilai balik, pada bagian tipe_nilai_balik fungsinya ditulis void (void berarti tanpa nilai balik)

  13. 2 Fungsi Tanpa Nilai Balik : Contoh <fungsi_garis.cpp> #include <iostream> using namespace std; void garis() { cout <<"---------------------" <<endl; } int main() { garis(); cout <<"Belajar Fungsi" <<endl; garis(); cout <<"Selamat belajar Fungsi C++ ya le " <<endl; cout <<"Enjoy your life" <<endl; garis(); return 0; }

  14. 1 intumurKu() { perintah/statement; } Fungsi Dengan Nilai Balik umurKu() { perintah/statement; } Fungsi dengan nilai balik, pada bagian tipe_nilai_balik fungsinya dituliskan dengan tipe data (seperti : int, char[], float, double, dll.)  Apabila tidak dituliskan tipe data untuk nilai balik dari fungsi tersebut, maka akan dikenal sebagai tipe data int (integer) oleh kompiler, karena default-nya adalah int (integer).  Fungsi nilai balik menggunakan statement return u/ mengisi sebuah nilai ke fungsinya. default : int (integer)

  15. 2 Fungsi Dengan Nilai Balik :Contoh <fungsi_nilaibalik.cpp> #include <iostream> using namespace std; int umurKu() { return 19; } int main() { int umurGUE; cout <<"Namaku : Dulkepret" <<endl; umurGUE = umurKu(); cout <<"Umurku : " <<umurGUE <<" tahun" <<endl; return 0; }

  16. Suatu pendefinisan nilai-nilai dari objek-objek yang dideklarasikan pada bagian argumen di fungsi. Nilai-nilai dari objek tersebut didapat dari variabel-variabel yang berada pada program utama. • Parameter bisa disebut juga dengan Variabel. • Atau gini .... Parameter merupakan Variabel yang berada dalam baris argumen pada sebuah fungsi. • inttambah( int nilai1, int nilai2 ) Apa itu Parameter ....! Parameter ke-1 Parameter ke-2 Nama fungsi argumen

  17. Parameter Formal • Variabel yang terdapat pada daftar parameter (argumen) yang berada dalam definisi fungsi. • Parameter Aktual • Variabel yang digunakan pada pemanggilan suatu fungsi. int tambah(int nilai1, int nilai2) { return (nilai1 + nilai2); } Parameter Formal Parameter fungsi ada 2 macam .... • void main() • { • int a = 5, b = 10, c ; • c = tambah(a, b); • cout <<a <<“ + “ <<b <<“ = “ <<c ; • } Parameter Aktual

  18. Parameter Fungsi : Contoh <fungsi_parameter.cpp> #include <iostream> using namespace std; int tambah(int nilai1, int nilai2) { return (nilai1 + nilai2); } int main() { int a, b, c; a = 5 ; b = 10 ; c = tambah(a, b); cout <<a <<" + " <<b <<" = " <<c ; return 0; }

  19. Parameter Fungsi Tambah lagi niy ....! Parameter (Parameter Formal) yang bisa dan tidak mengembalikan nilai balik ke variabel pemanggilnya (Parameter Aktual) Sudah kenal kan dengan Fungsi ....? (struktur/bentuk umum, prototipe, dll) Sudah kenal kan dengan Fungsi dengan nilai balik (fungsi/function) ....? Sudah kenal kan dengan Fungsi tanpa nilai balik (prosedur/procedure) ....? Sudah kenal kan dengan Parameter ...? Sudah kenal kan dengan Parameter Formal ...? Sudah kenal kan dengan Parameter Aktual ...?

  20. Parameter tanpa nilai balik Call by Value (pemanggilan dengan nilai) Pemanggilan Parameter Fungsi Parameter dengan nilai balik Call by Reference (pemanggilan dengan referensi)

  21. Parameter Aktual akan dimasukkan ke Parameter Formal • Parameter Aktualtidak dapat berubah, walaupun nilai dari Parameter Formal berubah. Call by Value (pemanggilan dengan nilai)

  22. int main() • { • int a, b; • a = 5 ; b = 10 ; • cout <<"Nilai sebelum fungsi" <<endl; • cout <<"a = " <<a <<" b = " <<b; • cout <<endl <<endl; • tambah(a, b); • cout <<"Nilai setelah fungsi" <<endl; • cout <<"a = " <<a <<" b = " <<b; • cout <<endl <<endl; • return 0; • } Call by Value : Contoh <fungsi_param_value.cpp> Page 1 Page 2 #include <iostream> using namespace std; int tambah( int x,int y) { cout<<"Nilai dalam fungsi"<<endl; x = 20; y = 25; cout <<" x = " <<x <<" y = " <<y; cout <<endl <<endl; }

  23. Parameter Aktual akan dimasukkan ke Parameter Formal • Parameter Aktualakan berubah mengikuti perubahan nilai dari Parameter Formal. • Parameter dalam definisi fungsi ditulis dengan awalan tanda &. Call by Reference (pemanggilan dengan referensi)

  24. int main() • { • int a, b; • a = 5 ; b = 10 ; • cout <<"Nilai sebelum fungsi" <<endl; • cout <<"a = " <<a <<" b = " <<b; • cout <<endl <<endl; • tambah(a, b); • cout <<"Nilai setelah fungsi" <<endl; • cout <<"a = " <<a <<" b = " <<b; • cout <<endl <<endl; • return 0; • } Call by Reference : Contoh <fungsi_param_ref.cpp> Page 1 Page 2 #include <iostream> using namespace std; int tambah( int &x,int &y) { cout<<"Nilai dalam fungsi"<<endl; x = 20; y = 25; cout <<" x = " <<x <<" y = " <<y; cout <<endl <<endl; }

  25. Variabel Lokal Variabel Global/Eksternal Jenis Variabel Jenis Variabel Variabel Statis

  26. Dideklarasikan di dalam fungsi Variabel Lokal Hanya dikenal oleh fungsi yang bersangkutan

  27. int main() { int x; x = 15; cout<<"x dalam fungsi main()= " <<x; cout <<endl <<endl; lokal(); cout <<endl <<endl; cout <<"x dalam fungsi main()= " <<x; cout <<endl <<endl; return 0; } Variabel Lokal : Contoh <variabel_lokal.cpp> Page 1 #include <iostream> using namespace std; void lokal() { int x; x = 10; cout<<"x dalam fungsi lokal()= " <<x; } Page 2

  28. Dideklarasikan di luar fungsi Dapat digunakan bersama-sama, tanpa harus deklarasi ulang Variabel Global

  29. #include <iostream> using namespace std; int x = 5; void lokal() { x = x + 10; } int main() { cout <<"Nilai x di dalam fungsi main() = " <<x ; cout <<endl <<endl; lokal(); cout <<"Nilai x setelah panggil fungsi lokal() = " <<x ; return 0; } Variabel Global : Contoh <variabel_global.cpp>

  30. Hanya dikenal oleh fungsi yang bersangkutan, Kalau dideklarasikan di dalam fungsi secara lokal Dapat digunakan bersama-sama, Kalau dideklarasikan di luar fungsi secara global Variabel Statis Pakai kata kunci staticdi depannya nama variabel ketika dideklarasikan

  31. int main() { int x = 99; lokal(); lokal(); cout <<"x dalam fungsi main()= " <<x; cout <<endl; lokal(); return 0; } Variabel Statis : Contoh <variabel_statis.cpp> Page 1 Page 2 #include <iostream> using namespace std; void lokal() { static int x=6; x = x + 5; cout<<"x dalam fungsi lokal()= " <<x; cout <<endl; }

  32. Sekian

More Related