110 likes | 282 Views
Fungsi (1). Dr. Anto Satriyo Nugroho, M.Eng Email: asnugroho@gmail.com Web: http://asnugroho.net/lecture/dp.html. Mengapa Fungsi penting dipelajari ?. Pemrograman modular dapat menyederhanakan masalah menjadi beberapa modul, sehingga lebih mudah disusun dan difahami
E N D
Fungsi (1) Dr. Anto Satriyo Nugroho, M.Eng Email: asnugroho@gmail.com Web: http://asnugroho.net/lecture/dp.html
Mengapa Fungsi penting dipelajari ? • Pemrograman modular dapat menyederhanakan masalah menjadi beberapa modul, sehingga lebih mudah disusun dan difahami • Software reusability: fungsi yang pernah dibuat bisa dipakai di program lain
Kategori dan Cara Penulisan Fungsi • Kategori Fungsi ada dua: • Standard Library Function • Programer-defined Function • Cara menulis Fungsi • Deklarasi fungsi • Definisi fungsi
Kategori dan Cara Penulisan Fungsi • Deklarasi (function prototype) return_type function_name(type1,type2, …); • Definisi return_type function_name(parameter list) { deklarasi variabel_lokal; instruksi_1; … instruksi_n; return (value) }
Contoh 1 #include <stdio.h> float lebihbesar(float f1,float f2) /* function definition */ { if(f1>f2) return f1; else return f2; } main() { float x,y; printf(“Bilangan ke-1: “); scanf(“%f”,&x); printf(“Bilangan ke-2: “); scanf(“%f”,&y); printf(“Nilai yang lebih besar adalah %f\n",lebihbesar(x,y)); }
Contoh 1 float lebihbesar(float f1,float f2) { if(f1>f2) return f1; else return f2; } f1 dan f2 adalah parameter fungsi lebihbesar(x,y) x dan y adalah argumen
Contoh 1 #include <stdio.h> main() { float x,y; printf(“Bilangan ke-1: “); scanf(“%f”,&x); printf(“Bilangan ke-2: “); scanf(“%f”,&y); printf(“Nilai yang lebih besar adalah %f\n",lebihbesar(x,y)); } float lebihbesar(float f1,float f2) { if(f1>f2) return f1; else return f2; } X
Contoh 1 #include <stdio.h> float lebihbesar(float,float); main() { float x,y; printf(“Bilangan ke-1: “); scanf(“%f”,&x); printf(“Bilangan ke-2: “); scanf(“%f”,&y); printf(“Nilai yang lebih besar adalah %f\n",lebihbesar(x,y)); } float lebihbesar(float f1,float f2) { if(f1>f2) return f1; else return f2; }
Quiz-1 : max untuk 3 bilangan #include <stdio.h> float lebihbesar(float,float,float); float lebihbesar(float f1,float f2,float f3) { } main() { float x,y,z; printf(“Bilangan ke-1: “); scanf(“%f”,&x); printf(“Bilangan ke-2: “); scanf(“%f”,&y); printf(“Bilangan ke-3: “); scanf(“%f”,&z); printf(“Nilai yang lebih besar adalah %f\n",lebihbesar(x,y,z)); } ?
Quiz-2 : menghitung pangkat • #include <stdio.h> • double pangkat(double,int); • double pangkat(double dx, int no) • { • } • main() • { • int n; • double x; • printf(“Tulis sebarang bilangan riil: “); scanf(“%lf”,&x); • printf(“Tulis sebarang bilangan bulat: “); scanf(“%d”,&n); • printf(“%lf pangkat %d adalah %lf \n“,x,n,pangkat(x,n)); • } ?
Array dan Fungsi #include <stdio.h> void matrix_jumlah(int x[2][3],int y[2][3],int row,int column) { int i,j; for (j=0;j<row;j++) { for(i=0;i<column;i++) { printf(“%d ”,x[j][i]+y[j][i]); } printf(“\n”); } } main() { int ma[2][3]= { {1, 2, 3}, {4, 5, 6} }; int mb[2][3]= { {6, 3, 4}, {5, 1, 2} }; matrix_jumlah(ma,mb,2,3); }