Fungsi, Parameter, Rekursi Daniel Riano Kaparang Book reference: Jogiyanto. Konsep Dasar Pemrograman Bahasa C. Andi Star. Yogyakarta. 2006 Kristanto Andri.

Slides:



Advertisements
Presentasi serupa
Fungsi Konsep Pemrograman.
Advertisements

Pemrogramman Terstruktur
ARRAY 1 DIMENSI Array 1 dimensi
Algoritma dan Struktur Data
Fungsi (2) Dr. Anto Satriyo Nugroho, M.Eng Web:
FUNGSI Deklarasi dan Definisi fungsi Void dan Non-void Fungsi main.
STRUKTUR DATA (5) Pointer dan Function
STRUKTUR Konsep Pemrograman.
Fungsi (lanjutan) Pertemuan ke-9 Bahasa C.
Parameter formal adalah variabel yang ada pada daftar parameter dalam
Modul 11 – Hendi Hermawan - 1
Subprogram Minggu V – VI
Pemrograman Terstruktur
Teknik Pemrograman Terstruktur 2
Konsep Pemrograman Function.
PROCEDURE DAN FUNCTION
BAB IV SUB PROGRAM DAN FUNGSI
Review-Dasar Pemrograman Komputer
Fungsi Lecture 7. Motivation Complexity of programming problem  more difficult to consider the solution as a whole  clue: dividing the problem into.
As’ad Djamalilleil Function (method) As’ad Djamalilleil
FUNGSI.
STRUKTUR DATA (5) Pointer dan Function
PROSEDUR.
Procedure , Function dan Parameter
FUNGSI Teknik Informatika Universitas Muhammadiyah Malang 2011 Pemrogramman Terstruktur.
STRUKTUR DATA Pointer dan Function
Algoritma dan Struktur Data
Algoritma dan Struktur Data
Fungsi Fungsi.
Function User Function.
Pemrograman Berorientasi Obyek1 Sub Pokok Bahasan Pointer. Reference. Function Passing Parameter by Value, by Reference, by Pointer.
Bab 05 Tipe Data dan Mengisi Variabel
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.
DASAR PEMOGRAMAN MODULAR DESIGN DASAR PEMOGRAMAN KELOMPOK 5 UNIVERSITAS BRAWIJAYA.
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.
Prosedur dan Fungsi Triana Elizabeth, S.Kom.
FUNGSI.
PROCEDURE DAN FUNCTION
Tujuan Instruksional Mahasiswa memahami konsep fungsi
Procedure.
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
FUNGSI.
FUNGSI.
FUNGSI.
Prosedur dalam C++.
Struktur Program TEE 2103 Algoritma dan Pemrograman
Pointer TEE 2103 Algoritma dan Pemrograman Dosen: Abdillah, MIT
FUNGSI.
UNIVERSITAS BRAWIJAYA
Apa itu Fungsi? Sebuah fungsi adalah modul program yang mengerjakan tugas atau aktivitas yang spesifik dan mengembalikan sebuah nilai dari tipe tertentu,
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
Fungsi TEE 2103 Algoritma & Pemrograman Dosen: Abdillah, MIT
Struktur Data Khoiriya Latifa, M.Kom.
As’ad Djamalilleil Function (Fungsi) As’ad Djamalilleil
Fungsi, Parameter & Rekursi
Pemrograman Terstruktur
QUIS Algoritma Pemrograman I
Algoritma dan Pemrograman
Tipe Data & Array 1D, 2D Daniel Riano Kaparang.
IT234 ALGORITMA DAN STRUKTUR DATA
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
Algoritma dan Pemrograman
PROCEDURE DAN FUNGSI.
PERTEMUAN V F U N G S I Tujuan membuat suatu fungsi
Transcript presentasi:

Fungsi, Parameter, Rekursi Daniel Riano Kaparang Book reference: Jogiyanto. Konsep Dasar Pemrograman Bahasa C. Andi Star. Yogyakarta Kristanto Andri. Algoritma dan Pemrograman dengan C. Graha Ilmu. Yogyakarta

Function Fungsi adalah suatu bagian dari program yang dimaksudkan untuk mengerjakan suatu tugas tertentu dan letaknya dipisahkan dari bagian program yang menggunakannya (Jogiyanto, 2006). Bahasa C dibentuk dari kumpulan fungsi. Fungsi banyak digunakan untuk dua alasan utama: ◦Fungsi menjadikan program C mempunyai struktur yang jelas. ◦Fungsi dapat digunakan untuk menghindari penulisan yang sama secara berulang

Mendefinisikan Fungsi Secara umum fungsi terdiri dari definisi fungsi dan tubuh fungsi. Definisi fungsi berisi tipe dari fungsi, nama fungsi dan parameter jika diperlukan. Tubuh fungsi berisi statement-statement yang akan melakukan tugas yang diberikan kepada fungsi itu sendiri. Tipe_data nama_fungsi (param1, param2,…,param-N){ Statement1; Statement2;. Statement-M; }

Parameter Parameter dalam C terdiri dari parameter formal dan parameter aktual (Kristanto, 2009). Parameter formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi. Parameter aktual adalah parameter yang dapat berupa variabel atau konstanta maupun ungkapan yang dipakai dalam pemanggilan fungsi. Ada 2 cara melewatkan nilai dari parameter dalam fungsi: ◦Passing by value. ◦Passing by reference.

Contoh 1 Fungsi #include int FindMax(int n1, int n2); Void PrintMax(int m); int main(){ int i=5, j=7, k; k=FindMax(i,j); PrintMax(k); return 0; } int FindMax(int n1, int n2){ if(n1>n2){ return n1; } else{ return n2; } void PrintMax(int m){ printf(“Max number is : %d\n”, m); }

Passing by value Yang dikirimkan ke fungsi adalah nilai dari datanya, bukan alamat memori letak dari datanya. Fungsi yang menerima kiriman nilai akan menyampaikannya di alamat yang terpisah dari nilai aslinya yang digunakan oleh bagian program yang memanggil fungsi. Karena alasan ke-2 di atas, maka perubahan nilai di fungsi tidak akan merubah nilai asli di bagian program yang memanggil fungsi walaupun keduanya menggunakan nama variabel yang sama. Passing by value merupakan pengiriman searah yaitu dari bagian program yang memanggil fungsi ke fungsi yang dipanggil. Pengiriman suatu nilai dapat dilakukan untuk suatu ungkapan tidak hanya untuk sebuah variabel atau element array atau konstanta saja.

Contoh 2 Passing by value #include void PassByValue (float A,float B, char C); main() { char C='a'; float A=25, *Alamat_A; Alamat_A = &A; printf("PASS BY VALUE (PROGRAM UTAMA) : \n"); printf("Nilai A adalah %f di alamat %p \n", A, Alamat_A); printf("Nilai A/3 adalah %f \n", A/3); printf("Nilai karakter C adalah %c \n \n", C); PassByValue(A, A/3, C); } void PassByValue(float A, float B, char C) { float *Alamat_A; Alamat_A = &A; A = 7; printf("PASS BY VALUE (DI FUNGSI) : \n"); printf("Nilai A adalah %f di alamat %p \n", A, Alamat_A); printf("Nilai A/3 adalah %f \n", A/3); printf("Nilai karakter C adalah %c \n \n", C); }

Passing by reference Yang dikirimkan ke fungsi adalah alamat letak dari nilai datanya, bukan nilai dari datanya. Fungsi yang menerima kiriman alamat ini akan menggunakan alamat yang sama untuk mendapatkan nilai datanya. Karena alasan ke-2 di atas, maka perubahan nilai dari fungsi akan merubah nilai asli di bagian program yang memanggil fungsi. Passing by reference merupakan perngiriman dua arah, yaitu dari bagian program yang memanggil fungsi ke fungsi yang dipanggil dan sebaliknya. Passing by value tidak dapat dilakukan untuk suatu ungkapan, hanya untuk sebuah variabel atau elemen larik konstanta saja.

Contoh 3 Passing by reference #include void PassByRefference (float *A,float B, char *C); void main() { char C='a'; float A=25, *Alamat_A; Alamat_A = &A; printf("PASS BY REFFERENCE (PROGRAM UTAMA) : \n"); printf("Nilai A adalah %f di alamat %p \n", A, Alamat_A); printf("Nilai A/3 adalah %f \n", A/3); printf("Nilai karakter C adalah %c \n \n", C); PassByRefference(&A, A/3, &C); } void PassByRefference(float *A, float B, char *C) { float *Alamat_A; Alamat_A = A; *A=7; printf("PASS BY REFFERENCE (DI FUNGSI) : \n"); printf("Nilai A adalah %f di alamat %p \n", *A, Alamat_A); printf("Nilai B adalah %f \n", B/3); printf("Nilai karakter C adalah %c \n \n", *C); }

Rekursi & Iterasi Rekursi merupakan fungsi yang memanggil dirinya sendiri. Dalam kondisi ini akan terjadi perulangan pemanggilan fungsi dan akan berhenti ketika kondisi terpenuhi. Iterasi, proses perulangan dengan statement yang sama akan berhenti jika kondisi terpenuhi. Penggunaan rekursi dan iterasi bergantung pada kebutuhan program, karena rekursi akan mengambil memori cukup banyak.

Contoh rekursi int faktorial(int n){ if(n==1) return 1; else return (n*faktorial(n-1)); }

Contoh iterasi Void main(){ for (int i=1; i<5; i++){ i=i*i+1; }