Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Algoritma dan Pemrograman FUNGSI (FUNCTION)

Presentasi serupa


Presentasi berjudul: "Algoritma dan Pemrograman FUNGSI (FUNCTION)"— Transcript presentasi:

1 Algoritma dan Pemrograman FUNGSI (FUNCTION)
Imam Fahrur Rozi Algoritma dan Pemrograman FUNGSI (FUNCTION) This presentation demonstrates the new capabilities of PowerPoint and it is best viewed in Slide Show. These slides are designed to give you great ideas for the presentations you’ll create in PowerPoint 2011! For more sample templates, click the File menu, and then click New From Template. Under Templates, click Presentations.

2 KOMPETENSI Setelah menempuh materi ini, mahasiswa hendaknya mampu:
Menguasai tentang konsep Fungsi Menguasai cara pendeklarasian Fungsi Menguasai cara pemanggilan Fungsi

3 PENGANTAR FUNGSI Fungsi merupakan sekelompok statement (group of statement) dengan penamaan tertentu, yang akan dijalankan ketika ia dipanggil dari suatu bagian tertenu dalam program. Dengan menggunakan fungsi, program bisa disusun secara lebih terstruktur (lebih modular) dan lebih efektif Maksudnya modular: sekelompok statement yang berfungsi untuk menjalankan tugas tertentu, dikelompokkan sendiri dan dipisah, dengan diberikan nama tertentu. Ketika dalam program diperlukan untuk tugas tersebut dijalankan, yang perlu dilakukan adalah hanya dengan memanggil nama yang diberikan tsb.

4 PENGANTAR FUNGSI Maksudnya modular: sekelompok statement yang berfungsi untuk menjalankan tugas tertentu, dikelompokkan sendiri dan dipisah, dengan diberikan nama tertentu. Ketika dalam program diperlukan untuk tugas tersebut dijalankan, yang perlu dilakukan adalah hanya dengan memanggil nama yang diberikan tsb. Maksudnya lebih efektif: Jika tugas tersebut dalam program dilakukan secara berulang-ulang, maka sekumpulan statement2 yang digunakan untuk menjalankannya juga harus ditulis berulang-ulang dalam program yaitu setiapkali tugas tsb ingin dijalankan. Tapi dengan memisahkan sekumpilan statement tsb ke dalam fungsi, jika ingin dijalankan secara berulang-ulang, yang dilakukan hanya cukup memanggil fungsi tsb, tanpa menulis kembali statemtn2 nya

5 DEKLARASI FUNGSI Cara deklarasi/membuat fungsi:
tipe_data nama(parameter1, parameter2, …){ //statement } Contoh deklarasi fungsi int addition(int a, int b){ int r; r = a+b; return r;

6 DEKLARASI FUNGSI Penjelasan:
Tipe_data : merupakan tipe data dari nilai data yang akan dikembalikan (di returnkan) oleh fungsi. Semua tipedata (int,long,double,float,char,void) bisa digunakan sbg tipedata fungsi. Fungsi dg tipe data void tidak perlu return, jika selains void maka perlu return. Nama : penamaan fungsi Parameter : sebagai tempat utk data masukan yang akan diolah dalam fungsi. Banyaknya parameter menyesuaikan kebutuhan. Setiap parameter terdiri dari tipe data dan nama parameter (misal: int a, float b), sama persis seperti deklarasi variabel Statement : merupakan tubuh fungsi atau isi dari fungsi

7 KATA KUNCI “RETURN” Kata kunci return digunakan untuk memberikan nilai kembalian (niai keluaran) dari fungsi Fungsi yang memiliki tipe data fungsi selain void yang memerlukan return. Fungsi void tidak memerlukan return Nilai yang di-return-kan dari suatu fungsi harus sesuai dengan tipe data fungsi. Misalnya jika tipe data fungsi int, maka nilai yang di-return- kan harus nilai int.

8 PARAMETER FUNGSI Parameter fungsi digunakan untuk menerima masukan nilai dari luar fungsi, yang akan diolah dalam fungsi Kapan fungsi memerlukan parameter?ketika fungsi tsb membutuhkan data yang asalnya dari luar fungsi untuk diolah dalam fungsi Fungsi boleh tidak memiliki sama sekali parameter fungsi Jumlah parameter fungsi yang bisa dimiliki fungsi menyesuaikan kebutuhan, dan tidak ada batasan maksimalnya Pada saat deklarasi fungsi, penulisan parameter adalah dengan cara : tipe_data nama_parameter

9 PEMANGGILAN FUNGSI Setelah suatu fungsi dideklarasikan, fungsi tersebut tidak otomatis dijalankan (dieksekusi) oleh compiler. Untuk menjalankannya, fungsi tersebut harus dipanggil dari suatu baris program Cara pemanggilan fungsi: nama_fungsi (nilai_parameter1, nilai_parameter2,…); Contoh: int z = addition(5,3);

10 CONTOH FUNGSI DEKLARASI FUNGSI PEMANGGILAN FUNGSI

11 CONTOH FUNGSI Hasil ketika program dijalankan: The result is 8

12 CONTOH CARA LAIN DEKLARASI FUNGSI
Perhatikan, diakhiri tanda ; PEMANGGILAN FUNGSI DEKLARASI SELENGKAPNYA DISINI

13 CONTOH CARA LAIN DEKLARASI FUNGSI
Cara pada slide sebelumnya, dilakukan jika deklarasi fungsi diletakkan pada baris program di bawah proses pemanggilannya (Jika pemanggilannya, dilakukan lebih atas atau lebih dulu daripada deklarasi lengkap fungsinya)

14 CONTOH FUNGSI PRAMETER FUNGSI TIPE DATA FUNGSI NAMA FUNGSI TUBUH
RETURN (perhatikan yang direturnkan adalah nilai variabel n yang tipe datanya int, sama dengan tipe data fungsi)

15 ILUSTRASI PEMANGGILAN FUNGSI
DEKLARASI FUNGSI PEMANGGILAN FUNGSI

16 ILUSTRASI PEMANGGILAN FUNGSI

17 SCOPE OF VARIABLE Variabel Lokal : variabel yang dideklarasikan dalam suatu fungsi, dan hanya bisa diakses atau dikenali dari dalam fungsi itu sendiri Variabel Global : variabel yang dideklarasikan di luar blok fungsi, dan bisa diakses atau dikenali dari fungsi manapun

18 SCOPE OF VARIABLE

19 CONTOH LAIN FUNGSI

20 OUTPUTNYA The first result is 5 The second result is 5
The third result is 2 The fourth result is 6

21 CONTOH FUNGSI VOID PERHATIKAN!
Tipe data fungsi: void, jadi fungsi tidak memerlukan return

22 CONTOH FUNGSI VOID I’m a function

23 FUNGSI PASS BY VALUE

24 CONTOH FUNGSI PASS BY VALUE
Output : x = 10 y = 5

25 FUNGSI PASS BY VALUE Pada program di atas, ketika pemanggilan fungsi exchange, nilai variabel x dimasukkan ke parameter a. Sedangkan nilai variabel y dimasukkan ke parameter b. void exchange (int a, int b) exchange (x,y); Di dalam fungsi exchange, nilai variabel a dan b ditukar. Tapi penukaran tersebut tidak berpengaruh pada nilai x dan y. Yang notabene, yang dimasukkan ke parameter a dan b adalah variabel x dan y Ini disebabkan karena yang dimasukkan ke parameter a dan b Rdak lain hanyalah NILAI dari variabel x dan y, bukan alamat variabel x dan y itu sendiri

26 FUNGSI PASS BY VALUE Argumen fungsi seringkali disebut juga parameter fungsi Pada konsep “Arguments Passed by Value”, yang dilewatkan atau dimasukkan ke parameter fungsi adalah berupa nilai Ketika terjadi perubahan terhadap parameter fungsi yang bersangkutan, tidak akan berpengaruh terhadap nilai variabel yang dimasukkan ke dalam parameter

27 FUNGSI PASS BY REFERENCE

28 CONTOH FUNGSI PASS BY REFERENECE
Output : x = 5 y = 10

29 FUNGSI PASS BY REFERENCE
Perbedaan dengan program sebelumnya terletak pada tanda ampersand (&) yang terletak di depan parameter a dan b Pada program di atas, ketika pemanggilan fungsi exchange, alamat variabel x dimasukkan ke parameter a. Sedangkan alamat variabel y dimasukkan ke parameter b. void exchange (int& a, int& b) exchange (x,y); Di dalam fungsi exchange, nilai variabel a dan b ditukar.

30 FUNGSI PASS BY REFERENCE
Ternyata penukaran nilai parameter a dan b yang terjadi di fungsi exchange tersebut berpengaruh terhadap nilai variabel x dan y. Ketika ditampilkan nilai x dan y ikut tertukar seperR halnya parameter a dan b Ini menunjukkan bahwa yang dimasukkan ke dalam parameter a dan b keRka pemanggilan fungsi exchange adalah alamat x dan y. Jadi ketika terjadi perubahan di argumen a dan b, maka isi variabel x dan y juga berubah.

31 FUNGSI PASS BY REFERENCE
Pada konsep “Arguments Passed by Reference”, yang dilewatkan atau dimasukkan ke parameter fungsi adalah berupa alamat dari variabel Ketika terjadi perubahan terhadap parameter fungsi yang bersangkutan, akan berpengaruh terhadap nilai variabel yang dimasukkan ke dalam parameter

32 FUNGSI REKURSIF

33 FUNGSI REKURSIF Fungsi yang memanggil fungsi itu sendiri
Contoh pada proses perhitungan faktorial (n!) n!=n*(n-1)*(n-2)*(n-3)*...*1 Misalnya n = 5 5!=5*4*3*2*1 Sebenarnya mirip dengan perulangan, yaitu digunakan untuk menyelesaikan masalah yang melibatkan suatu pola atau statement yang dilakukan berulang-ulang dengan batas tertentu

34 FUNGSI REKURSIF

35 KEKURANGAN FUNGSI REKURSIF
Meskipun penulisan program dengan cara rekursif bisa lebih pendek, namun function rekursif memerlukan : •  Memori yang lebih banyak, karena perlu tambahan untuk mengaktifkan Stack. •  Waktu lebih lama, karena perlu menjejaki setiap pemanggilan rekursif melalui stack

36 KAPAN FUNGSI REKURSIF ? Penyelesaian secara iterative (secara perulangan) sulit dilakukan Jika masalah tersebut bisa diselesaikan dengan perulangan (iterasi), lebih diutamakan untuk menggunakan perulangan. Mengingat jika rekursif akan banyak memakan memori dan berdampak pada kecepatan

37  Selamat Belajar Algoritma dan Pemrograman
Serious, Focus, stay cool & calm


Download ppt "Algoritma dan Pemrograman FUNGSI (FUNCTION)"

Presentasi serupa


Iklan oleh Google