As’ad Djamalilleil http://kampusku.my.id asad.kom@gmail.com Function (Fungsi) As’ad Djamalilleil http://kampusku.my.id asad.kom@gmail.com.

Slides:



Advertisements
Presentasi serupa
Fungsi Konsep Pemrograman.
Advertisements

Pemrograman Berorientasi Objek (Project)
Pemrogramman Terstruktur
FUNGSI Deklarasi dan Definisi fungsi Void dan Non-void Fungsi main.
STRUKTUR DATA (5) Pointer dan Function
Fungsi, Parameter, Rekursi Daniel Riano Kaparang Book reference: Jogiyanto. Konsep Dasar Pemrograman Bahasa C. Andi Star. Yogyakarta Kristanto Andri.
Fungsi (lanjutan) Pertemuan ke-9 Bahasa C.
Modul 11 – Hendi Hermawan - 1
Subprogram Minggu V – VI
Method.
Prosedur (Procedure).
BAB IV SUB PROGRAM DAN FUNGSI
Review-Dasar Pemrograman Komputer
As’ad Djamalilleil Function (method) As’ad Djamalilleil
FUNGSI.
STRUKTUR DATA (5) Pointer dan Function
Procedure , Function dan Parameter
FUNGSI Teknik Informatika Universitas Muhammadiyah Malang 2011 Pemrogramman Terstruktur.
STRUKTUR DATA Pointer dan Function
Modul 4 Prosedur dan Fungsi.
Fungsi Fungsi.
Function User Function.
Pemrograman Berorientasi Obyek1 Sub Pokok Bahasan Pointer. Reference. Function Passing Parameter by Value, by Reference, by Pointer.
FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Rahmat D. R. Dako, ST, M.Eng.  Modul  void main (void)  Modul  fungsi = function  Keuntungan penggunaan Fungsi atau modul :  Program menjadi lebih.
Dibuat oleh : Renni Angreni, S.Kom.
PEMROGRAMAN SISTEM PERNYATAAN DASAR FUNGSI Pertemuan VI
1 Pertemuan Fungsi Matakuliah: T0016 / Algoritma dan Pemrograman Tahun: 2007 Versi: 6.
1. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :  Mendemonstrasikan penggunaan fungsi serta pengiriman parameter 2.
Fungsi, Array dan String
Prosedur dan Fungsi Triana Elizabeth, S.Kom.
FUNGSI.
PROCEDURE DAN FUNCTION
Tujuan Instruksional Mahasiswa memahami konsep fungsi
Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi.
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
FUNGSI.
FUNGSI.
Pengertian FUNGSI.
FUNGSI.
Statement Control (if dan switch)
Prosedur dan fungsi By Serdiwansyah N. A..
Pemrograman Visual I Outline: Method Method Void & fungsi
Prosedur dalam C++.
SUBALGORITMA.
5. Fungsi S. Indriani L, M.T 5. Fungsi.
PEMROGRAMAN SISTEM FUNGSI
METHODS Mr. Yasri Object Oriented Program.
FUNGSI.
UNIVERSITAS BRAWIJAYA
FUNGSI (Method) Bag.1 Pertemuan 18 Dasar Pemrograman
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
Castaka agus sugiato, M.Kom., M.CS
As’ad Djamalilleil Function (method) As’ad Djamalilleil
Algoritme dan Pemrograman
As’ad Djamalilleil Array (Larik) As’ad Djamalilleil
As’ad Djamalilleil Macam Statement As’ad Djamalilleil
Fungsi, Parameter & Rekursi
As’ad Djamalilleil Functions/Fungsi As’ad Djamalilleil
Algoritma dan Pemrograman
As’ad Djamalilleil Pointer dan Reference As’ad Djamalilleil
IT234 ALGORITMA DAN STRUKTUR DATA
TPI4202 e-tp.ub.ac.id Modular Design Lecture 7.
Parameter Ketika procedure atau function dipanggil, kita dapat melewatkan suatu nilai ke dalam function atau procedure tersebut. Nilai yang dilewatkan.
FUNGSI II.
Algoritma dan Pemrograman FUNGSI (FUNCTION)
Pemrograman Terstruktur
UNIVERSITAS BRAWIJAYA
Teknik Pemrog. Terstuktur 2
PERTEMUAN V F U N G S I Tujuan membuat suatu fungsi
Transcript presentasi:

As’ad Djamalilleil http://kampusku.my.id asad.kom@gmail.com Function (Fungsi) As’ad Djamalilleil http://kampusku.my.id asad.kom@gmail.com

Analogi Kegunaan Function Amir, Budi dan Cici mendapat tugas oleh Ibu mereka untuk membersihkan rumah. Si Ibu kemudian membagi tugas tersebut agar lebih mudah dan cepat diselesaikan. Amir mendapat tugas mengepel lantai. Budi bertugas mengatur barang-barang di dalam rumah. Cici bertugas mengecat dinding rumah. Si Ibu dapat dengan mudah mengetahui sumber kesalahan apabila terjadi.

Apabila lantai masih terlihat kotor, tentunya kesalahan tersebut dilakukan oleh Amir. Apabila barang-barang masih terlihat berantakan, maka Budi-lah biang keroknya. Sedangkan bila dinding terlihat masih kusam, maka tentunya Cici yang melakukan kesalahan. Ibu dapat dengan mudah mengontrol kegiatan tersebut hingga selesai dengan benar.

Si Ibu dapat kita anggap sebagai diri kita sendiri (programmer), sedangkan pekerjaan yang ingin diselesaikan adalah program yang ingin kita buat. Amir, Budi, dan Cici dapat dianggap sebagai function (fungsi), dimana setiap function diberikan tugas yang tertentu sehingga bila terjadi kesalahan dalam logika pemrograman, maka dapat dengan mudah dilacak letak kesalahannya untuk kemudian diperbaiki.

Proses atau tugas dikerjakan oleh prosesor Proses atau tugas dikerjakan oleh prosesor. Prosesor dikendalikan oleh program. Program yang kita buat dapat diselesaikan dengan cepat dan mudah apabila program tersebut kita pecah menjadi sub-sub program (program-program kecil) yang lebih dikenal di C++ dengan istilah function (fungsi).Setiap sub-program atau fungsi memiliki sifat seperti program pada umumnya, yaitu dapat menerima input dan memberikan output. Program utama (main-program) atau fungsi utama dapat memanggil sub-sub program yang lain. Begitu pula dengan sub-program, dapat memanggil sub-sub program yang lain tetapi lewat kendali main-program.

Gambaran Penggunaan Fungsi input output proses (program) main program sub Keterangan: function call (pemanggil fungsi), memberikan input ke fungsi function return (kembalian fungsi), mengeluarkan output

Definisi Fungsi tipeFungsi namaFungsi (daftar parameter) { ………………… return ekspresi; } tipeFungsi  tipe dari ekpresi yang di-return oleh fungsi. Bila kita tidak menginginkan fungsi mengembalikan nilai apapun, maka kita dapat mengganti tipeFungsi dengan keyword “void” serta menghilangkan pernyataan return ekspresi. Apabila tipeFungsi tidak disertakan maka secara otomatis C++ menganggap fungsi tersebut bertipe “int”.

namaFungsi  nama dari fungsi yang dibuat. daftar parameter  deklarasi variabel-variabel yang digunakan nantinya untuk menerima nilai yang dikirim dari pemanggil fungsi. Variabel yang dideklarasikan di bagian parameter akan dianggap sebagai variabel lokal sehingga hanya dikenali di dalam fungsi itu saja. Siklus hidup variabel lokal dimulai pada saat fungsi tersebut dijalankan sampai fungsi tersebut selesai dijalankan. return ekpresi  disertakan hanya bila fungsi bukan bertipe “void”. Bagian ekspresi ini diisi dengan apa yang ingin dikembalikan oleh fungsi tersebut ke pemanggil fungsi. Bagian ekpresi biasanya berupa hasil proses dari fungsi tersebut.

Contoh: void garis(){ cout << "-------------------------\n"; } void main(){ garis(); cout << “Muhammad Rasulullah\n"; garis();  contoh pemanggil fungsi

Contoh lain: void garis(){ int i;  variabel lokal for(i = 1; i <= 25; i++) cout << "-"; cout << endl; } void main(){ garis(); cout << “Muhammad Rasulullah\n";

Deklarasi Fungsi Deklarasi fungsi biasa dikenal juga dengan istilah proto-type fungsi. Deklarasi fungsi hanya diperlukan bila definisi fungsi-fungsi lain ditulis di bawah penulisan fungsi main/utama. Deklarasi fungsi ditulis di atas fungsi main. tipeFungsi namaFungsi(daftar tipe param);

Contoh: void garis();  deklarasi fungsi void main(){ garis(); cout << “Muhammad Rasulullah\n"; } void garis(){ cout << "-------------------------\n"; definisi fungsi garis() terletak di bawah fungsi main(), oleh karena itu dibutuhkan deklarasi fungsi di atas fungsi main()

Input dan Output Fungsi Fungsi seperti halnya program pada umumnya, dapat menerima input dan memberikan output. Input dapat diberikan dengan penggunaan parameter (parameter passing) dengan dua cara, yaitu: Passing By Value Passing By Reference Sedangkan output dapat diberikan lewat penggunaan statement return.

Passing By Value Pada teknik passing-by-value, parameter fungsi menangkap nilai (value) dari argumen yang dikirim dan disimpan ke dalam variabel yang berbeda lokasi memori-nya. Dikarenakan lokasi memori yang berbeda, perubahan nilai yang terjadi pada variabel tersebut tidak mempengaruhi nilai pada variabel yang dikirimkan sebagai argumen pada pemanggil fungsi.

void nilai(int a){ a = 10; } main(){ int a = 5; cout << "Nilai awal :" << a << endl; nilai(a);  passing by value cout << "Nilai akhir:" << a << endl;

Passing By Reference Pada teknik passing-by-reference, parameter fungsi menangkap alamat memori dari argumen yang dikirim ke dalam variabel. Segala perubahan yang mengacu (refer) pada lokasi memori dari variabel yang dijadikan sebagai argumen pada pemanggil fungsi tentu saja akan langsung merubah nilainya, karena menggunakan lokasi memori yang sama.

void nilai(int &a){  passing by a = 10; reference } main(){ int a = 5; cout << "Nilai awal :" << a << endl; nilai(a); cout << "Nilai akhir:" << a << endl;

---- atau ---- void nilai(int *a){ *a = 10; } main(){ int a = 5; cout << "Nilai awal :" << a << endl; nilai(&a); cout << "Nilai akhir:" << a << endl;

Contoh lain: long kuadrat(long l){ return l * l;  penggunaan statement return } void main(){ long bil; cout << "Input sebuah bilangan : "; cin >> bil; cout << "Hasil kuadratnya = " << kuadrat(bil);

Variabel Global Variabel global adalah variabel yang dideklarasikan di luar fungsi. Variabel global dapat diakses (dikenali) di semua fungsi yang didefinisikan di dalam program.

int total;  variabel global lain(){ total *= 3; } main(){ total = 2; total++; lain(); cout << total;

Variabel Lokal Variabel lokal adalah variabel yang dideklarasikan di dalam definisi fungsi. Variabel lokal hanya dikenali di dalam fungsi itu saja. Siklus hidup variabel lokal dimulai pada saat fungsi tersebut dijalankan sampai fungsi tersebut selesai dijalankan. Parameter fungsi juga merupakan variabel lokal. Bila ada variabel global dan variabel lokal yang memiliki nama yang sama, maka variabel lokal-lah yang digunakan, kecuali menggunakan “operator scope resolution”

lain(){ int total = 1; total *= 5; cout << "total pada lain() = " << total << endl; } main(){ int total = 2; total++; lain(); cout << "total pada main() = " << total << endl;

Operator Scope Resolution Operator ini berguna untuk mengakses variabel yang berada pada fungsi lain maupun variabel global yang memiliki nama yang sama dengan variabel lokal. Operator ini berbentuk dua titik-ganda (::)

int total; main(){ int total = 5; cout << "total lokal = " << total << endl; ::total = 7;  contoh penggunaan operator scope resolution cout << "total global = " << ::total; getch(); }

Variabel Static Variabel static adalah variabel lokal yang memiliki nilai yang tetap/statis. Variabel ini tidak akan dihapus dari memory mulai dari saat diciptakan sampai program berhenti.

lain(){ static int total = 0; total++; cout << "Nilai total = " << total << endl; } main(){ lain();

Default Parameter Value Parameter fungsi dapat memiliki nilai default, sehingga apabila pemanggilan fungsi tidak disertakan argumen, maka nilai default yang akan digunakan. Apabila pada pemanggilan fungsi turut disertakan pula argumen, maka nilai default parameter akan diabaikan.

lain(int angka = 5){ cout << angka << endl; } main(){ lain(23); lain(); lain(56);

Function Overloading Beberapa buah fungsi dapat memiliki nama yang sama, tetapi berbeda dari segi jumlah atau tipe parameternya. Teknik ini dikenal dengan function overloading. C++ akan memilih untuk menjalankan fungsi yang paling tepat digunakan berdasarkan jumlah argumen atau tipe argumen yang nantinya dicocokkan dengan fungsi-fungsi yang ada.

int lain(int angka){ return angka; } double lain(double angka){ float lain(int angka, float bil){ return (angka + bil); main(){ cout << lain(34.66) << endl; cout << lain(23,12.5) << endl; cout << lain(76) << endl;

Fungsi Rekursif Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Fungsi rekursif dapat diganti dengan fungsi yang berisi penggunaan statement iteratif, sehingga jauh lebih sederhana logika pengerjaannya dibandingkan dengan fungsi rekursif.

Contoh penggunaan fungsi rekursif untuk menghitung nilai faktorial dari sebuah bilangan bulat. int faktorial(int a){ if(a <= 1) return 1; else return (a * faktorial(a - 1)); } main(){ cout << faktorial(4);

Contoh lain dengan menggunakan statement for. int faktorial(int a){ int i, hasil = 1; for(i = a; i >= 1; i--) hasil *= i; return hasil; } main(){ cout << faktorial(4);