Apa mini program ?Apa mini program ?
Program C/C++…..
Deklarasi file header
Program Utamavoid main()
fungsi int faktorial(int n)
prosedur void nama()
mini program(subroutine)
FungsiFungsi
Subroutine yang menghasilkan nilai Subroutine yang menghasilkan nilai tertentutertentu
Biasanya digunakan pada Biasanya digunakan pada perhitungan persamaan matematis, perhitungan persamaan matematis, karakter & stringkarakter & string
Fungsi ada 2:Fungsi ada 2:• Fungsi Pustaka C/C++Fungsi Pustaka C/C++• Fungsi Buatan SendiriFungsi Buatan Sendiri
Fungsi Pustaka C/C++Fungsi Pustaka C/C++
stdio.h stdio.h definisi fungsi I/O definisi fungsi I/O ctype.h ctype.h manipulasi karakter manipulasi karakter String.h String.h manipulasi string manipulasi string Math.h Math.h fungsi-fungsi matematika fungsi-fungsi matematika Stdlib.hStdlib.h konversi angka, alokasi memori konversi angka, alokasi memori Stdarg.h Stdarg.h pustaka fungsi-fungsi variabel pustaka fungsi-fungsi variabel Time.h Time.h fungsi manipulasi waktu fungsi manipulasi waktu Iostream.h Iostream.h fungsi-fungsi I/O fungsi-fungsi I/O
Fungsi Buatan SendiriFungsi Buatan SendiriDeklarasiDeklarasi diletakkan setelah file header diletakkan setelah file headertipe fungsi
float
Nama fungsi
jumlah
(parameter fungsi)
(float x, float y)PenulisanPenulisan setelah akhir program utama setelah akhir program utama
/void main()/void main()float jumlah (float x, float y){ z=x+y; /* statement*/ return(z)}
PemanggilanPemanggilan fungsi dapat digunakan dengan pemanggilan fungsi dapat digunakan dengan pemanggilan nama fungsi beserta parameternya olehnama fungsi beserta parameternya oleh program utama atau fungsi yang lainprogram utama atau fungsi yang lain
jumlah (a,b) menghasilkan a+bjumlah (4.55,7.23) =4.55+7.23 = 11.78
Aliran ProgramAliran ProgramProgram Utamavoid main()
fungsi
{
C= tambah(a,b);
}
{
return(hasil tambah)}
Float tambah(float x, float y)
Contoh Penulisan FungsiContoh Penulisan Fungsi# include <stdio.h># include <stdio.h># include <conio.h># include <conio.h>
float tambah(float x,float y);float tambah(float x,float y);void main()void main(){{
float a,b,c;float a,b,c;clrscr();clrscr();printf(“A = “); scanf(“%f”,&a);printf(“A = “); scanf(“%f”,&a);printf(“B = “); scanf(“%f”,&b);printf(“B = “); scanf(“%f”,&b);c=tambah(a,b);c=tambah(a,b);printf(“Hasil A+B = %.2f”,c);printf(“Hasil A+B = %.2f”,c);getch();getch();
}}
float tambah(float x,float y)float tambah(float x,float y){{
return (x+y);return (x+y);}}
# include <stdio.h># include <stdio.h># include <conio.h># include <conio.h># include <iostream.h># include <iostream.h>float tambah(float x,float y);float tambah(float x,float y);void main()void main(){{
float a,b,c;float a,b,c;clrscr();clrscr();cout<<“A = “<<endln; cin>>a;cout<<“A = “<<endln; cin>>a;cout<<“B = “; cin>>b;cout<<“B = “; cin>>b;c=tambah(a,b);c=tambah(a,b);cout<<“Hasil A+B = ”;cout<<c;cout<<“Hasil A+B = ”;cout<<c;getch();getch();
}}
float tambah(float x,float y)float tambah(float x,float y){{
return (x+y);return (x+y);}}
Fungsi dipanggil fungsiFungsi dipanggil fungsi
faktorial & permutasifaktorial & permutasi
faktorial = 4!faktorial = 4! = 4x3x2x1= 4x3x2x1 = 24= 24 aaPermutasi =Permutasi = bb = 4!/3!= 4!/3! = 4= 4
long int faktorial(int n){ if(n==0) return(1); else { printf("%i",n); if (n>1) printf(" * "); else printf("\n"); return(n * faktorial(n - 1)); }}
long int permutasi(int x, int y){ return(faktorial(x)/faktorial(y));}
Parameter FungsiParameter Fungsi#include <stdio.h>#include <conio.h>
float tambah(float x, float y);
void main(){ float a,b,c; clrscr(); printf("A = "); scanf("%f", &a); printf("B = "); scanf("%f", &b); c= tambah(a,b); printf("A + B = %.2f", c); getch();}float tambah(float x, float y) { return (x+y); }
FORMAL parameter dalam definisi fungsi
AKTUAL parameter dalam pemanggilan fungsi
Melewatkan ParameterMelewatkan Parameter
Call by Value Call by Value pemanggilan secara nilai pemanggilan secara nilai• Menyalin nilai parameter aktual ke formalMenyalin nilai parameter aktual ke formal• Tidak merubah nilai asli (parameter aktual)Tidak merubah nilai asli (parameter aktual)
Call by reference Call by reference pemanggilan secara pemanggilan secara referensireferensi• Melewatkan alamat dari variabel ke dalam Melewatkan alamat dari variabel ke dalam
fungsifungsi• Merubah nilai asli variabelMerubah nilai asli variabel
Call by ValueCall by Value#include <stdio.h>#include <conio.h>
void tukar(int x, int y);
void main(){int a,b;clrscr();a = 15;b = 10;printf("a = %i b = %i\n\n", a, b); tukar(a,b); printf("a = %i b = %i\n\n", a, b); getch();}void tukar(int x, int y) {int z; z = x;x = y;y = z;printf("Nilai di akhir fungsi tukar()\n");printf("x = %i y = %i\n\n", x, y);}
a=15, b=10
a=10, b=15
Call by ReferenceCall by Reference#include <stdio.h>#include <conio.h>
void tukar(int *px, int *py);
void main(){int a,b;clrscr();a = 15;b = 10;printf("a = %i b = %i\n\n", a, b); tukar(&a,&b); printf("a = %i b = %i\n\n", a, b); getch();}void tukar(int *px, int *py){int z;
/* variabel sementara */z = *px;*px = *py;*py = z;printf("Nilai di akhir fungsi tukar()\n");printf("px = %i py = %i\n\n", *px, *py);}
a=15, b=10
a=10, b=15
VariabelVariabel LokalLokal
• Variabel di deklarasikan dalam fungsiVariabel di deklarasikan dalam fungsi• Nilai variabel jika tidak diberikan akan bernilai randomNilai variabel jika tidak diberikan akan bernilai random• Hanya dikenal di dalam fungsi tersebutHanya dikenal di dalam fungsi tersebut
GlobalGlobal• Variabel di deklarasikan dalam program utama, setelah includeVariabel di deklarasikan dalam program utama, setelah include• Nilai variabel jika tidak diberikan akan bernilai nolNilai variabel jika tidak diberikan akan bernilai nol• Dikenal di dalam setiap fungsi maupun prosedur (void)Dikenal di dalam setiap fungsi maupun prosedur (void)
StatisStatis• Bernilai tetap (konstanta)Bernilai tetap (konstanta)• Dapat berupa variabel global maupun lokalDapat berupa variabel global maupun lokal
RegisterRegister• Variabel yang nilainya disimpan dalam register, bukan RAMVariabel yang nilainya disimpan dalam register, bukan RAM• Digunakan mengendalikan proses perulanganDigunakan mengendalikan proses perulangan• Hanya digunakan variabel tipe int dan charHanya digunakan variabel tipe int dan char• Deklarasi dengan menambah kata “register”Deklarasi dengan menambah kata “register”
Fungsi RekursifFungsi Rekursif
Fungsi yang Fungsi yang memanggil memanggil
dirinya dirinya sendirisendiri
#include <stdio.h>#include <conio.h>
long int faktorial(int N); void main(){ int N; clrscr(); printf("Berapa faktorial ? "); scanf("%i", &N); printf("Faktorial dari %i = %ld\n", N, faktorial(N)); getch();}
long int faktorial(int N) {if(N==0) return(1);else { printf("%i",N); if (N>1) printf(" * "); else printf("\n"); return(N * faktorial(N - 1)); }}
Top Related