tugas 3 prosedur dan fungsi
Post on 12-Aug-2015
129 Views
Preview:
TRANSCRIPT
TUGAS 3 PROSEDUR DAN FUNGSI
TUJUAN :
1. Kita mengenal dan mengetahui berbagai proses tentang fungsi dalam bahasa C++.
2. Kita dapat mengenal dan mengetahui teknik pembuatan prosedur dan makro.
TEORI DASAR
PROSEDURE DAN FUNGSI
MANFAAT DAN FUNGSI
Program besar dapat dipisah menjadi program-program kecil
Dapat dikerjakan oleh beberapa orang
Kemudahan dalam pembetulan jika terjadi kesalahan-kesalahn dan
kesalahan dapat dialokasi dalam suatu modul tertentu saja
Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa
mengganngu program keseluruhan
Mempermudah dokumentasi
Reusability : utau fungsi dapat digunakan kembali oleh program atau
fungsi lain
SIFAT – SIFAT MODUL ATAU FUNGSI YANG BAIK
Nilai fan tinggi artinya semakin sering suatu modul di panggil oleh
pengguna semakin tinggi nilai fan-in
Fan- out rendah artinya semakin spesifik fungsi suatu modul akan
semakin rendah nilai fan-out
Self-contained tinngi artinya kemampuan untuk memenuhi kebutuhan
sendiri
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 1
TUGAS 3 PROSEDUR DAN FUNGSI
KATEGORI FUNTION DALAM C
Standard library function
Ex: clrscr ()
Programmer defined function
CONTOH FUNGSI
#include<stdio.h>
#include<conio.h>
void main ()
{ int A,B,T;
A=5; B=2;T=0;
T= HITUNG(A,B);
printf("\n %d",T);
getch ();
}
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 2
int HITUNG (int A,int B)
{ int T;
A=A*2;
B=B*2;
T=A+B;
return(T);
}
program utama ditandai dengan
main ()
Ada intruksi untuk memanggil fungsi lain HITUNG (A,B);
Bagian fungsi yang dibuat , fungsi bertipe int dapat diletakkan sebelum / sesudah program utama
TUGAS 3 PROSEDUR DAN FUNGSI
STRUKTUR FUNCTION
1. Deklarasi fungsi (function prototype declaration)
Terdiri atas judul fungsi dan tipe data yang akan dikembalikan
dapat berupa tipe data tertentu atau bersifat void tanpa adanya kode
implementasi function tersebut.
2. Tubuh function (definisi function atau function definition)
Terdiri atas functin prototype yang disertai dengan kode
implementasi dari function tersebut
Berisikan statemment yang akan melakukan tugas yang diberikan
oleh fungsi tersebut
Tubuh function dapat berupa segala perintah yang dikenal oleh C
pada dasarnya tubuh fungsi sama dengan program seperti biasa.
Return adalah keyword pengembalian nilai dari fungsi saat keluar
fungsi
Return wajib jika fungsi tersebut mengembalikan nilai berupa type
data tertentu sedangkan return tidak wajib ada jika fungsi tersebut
berupa void.
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 3
TUGAS 3 PROSEDUR DAN FUNGSI
BENTUK UMUM FUNCTION DEFINITION
Tipe data/void main_fungsi ([arguman 1,
argument 2,..............])//function prototype
{ //bagian ini merupakan tubuh fungsi ;
[variabel_lokal; ]
[statement_1; ]
[statement_2; ]
............
[statement_3 ; ]
[return (variabel) ];
}
BENTUK UMUM FUNCTION PROTOTYPE
Tipe_data/void nama_fungsi (arguman 1 ,arguman 2)
Tipe_data dapat berupa segala tipe data yang dikenal C, namun tipe data
dapat juga juga tidak ada dan di gantikan dengan void yang berarti fungsi
tersebut tidak mengembalikan nilai apapun.
Nama fungsi adalah nama yang baik
Argumen dapat dipisahkan dengan menggunakan tanda koma.
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 4
TUGAS 3 PROSEDUR DAN FUNGSI
CONTOH FUNGSI
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 5
#include<stdio.h>
#include<conio.h>
void CETAK();
void main()
{
CETAK ();
getch();}
void CETAK ()
{
printf("Jakarta");
}
Fungsi CETAK di deklarasikan terlebih dahulu sebelum main ()perhatikan pakai tanda “;” (titik koma ) kalau tidak pakai tanda “:” dianggap mendefinisikan fungsi.
Intruksi mengCALL fungsi CETAK
Tulisan ini disebut men -DEFINISIKAN fungsi
Fungsi yang dibuat sendiri
Nama : CETAK
Tipe : void (artinya tanpa tipe )
Dalam fungsi ini ada intruksi untuk mencetak perkataan “jakarta”
TUGAS 3 PROSEDUR DAN FUNGSI
FUNGSI YANG NON VOID
Fungsi yang void sering disebut juga procedure
Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai
keluaran yang didapat dari hasil proses fungsi tersebut
Ciri-ciri :
Tidak adanya keyword return
Tidak adanya tipe data di dalam deklarasi fungsi
Menggunakan keyword void
Dapat dianalogikan sebagai suatu variabel yang memiliki tipe data tertentu
sehingga dapat langsung ditampilkan hasilnya.
Contoh : sin () , sart ()
FUNCTION YANG VOID
Fungsi yang void disebut juga prosedure
Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai
keluaran yang didapat dari hasil proses fungsi tersebut.
Ciri-ciri :
o Tidak adanya keyword return
o Tidak adnya tipe data di dalam deklrasi fungsi
o Menggunakan keyword void
o Tidak dapa langsung ditampilkan hasilnya
Contoh :
o Clrscr ()
o Print ()
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 6
TUGAS 3 PROSEDUR DAN FUNGSI
CONTOH FUNCTION VOID
void main ()
{ int a,b ,t;
a=5; b=2;
t=jumlah (a,b);
printf("%d",t);
}
o Keyword void juga digunakan jika suatu function tidak mengandung suatu
parameter apapun.
o Contoh penggunaan parameter void.
Void printf_error (void)
{
Printf (“error : unexpected error accured ! “);
}
CONTOH FUNCTION YANG NON VOID
int jumlah (int x,int y)
{
int H;
H=x+y;
return(H);
}
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 7
TUGAS 3 PROSEDUR DAN FUNGSI
CONTOH LAIN
# include <stdio.h>
# include <conio.h>
int faktorial (int N) ; /*prortype fungsi factorial
void main ()
{ int H,fak ;
printf ("berapa factorial :"); scantf ("%d" , &N);
fak = faktorial (N);
printf ("%d faktorial = %d \n",N,fak );
getch ();
}
/*----- berfungsi untuk menghitung nilai N faktorial-----*/
int faktorial (int N) /*definisi fungsi */
( int F
int F = 1 ;
if (N<=0 , return (0);
for (f=2 ;1<=N/1++) f+= 1;
return (f)
}
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 8
TUGAS 3 PROSEDUR DAN FUNGSI
SCOPE VARIABLE
Sebuah variable di dalam sebuah program memiliki skop rangkain variable
tertentu
Skop variable terdiri atas :
Variabel lokal
Variabel global
Variabel lokal
Variabel yang hanya dikenai di daerah yang lokal saja misalnya
didalam sebuah fungsi atau prosedure tertentu saja dan tidak
dikenal didaerah lainnya
Harus dideklarasikan didalam blok yang bersangkutan
Variabel lokal akan dihapus dari memory bila proses sudah
meninngalkan blok statement letak variabel lokalnya .
CONTOH
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 9
TUGAS 3 PROSEDUR DAN FUNGSI
CONTOH
#include<stdio.h>
#include<conio.h>
int TAMBAH (int A,int B);
int main ()
{
int hasil;
hasil = TAMBAH(2,3);
printf("hasil= %d", hasil);
getch ();
}
int TAMBAH(int A, int B)
{ int c;
c=A+B;
{float c;
c=100;
}
return(c);
}
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 10
TUGAS 3 PROSEDUR DAN FUNGSI
Variabel global
Variabel yang dikenal diseluruh daerah di dalam program dan
diluar fungsi.
Di deklarasikan diluar suatu blok statement atau diluar fungsi-
fungsi yang menggunakannya.
CONTOH SKOP VARIABEL 1
#include<stdio.h>
#include<conio.h>
int d=3,e=1;
void coba_lokal(int a,int b)
{ int c=0;
int d=10;
int e;
e =(a+b)*(c+d);
printf("lokal a= %d\n",a);
printf("lokal b= %d\n",b);
printf("lokal c= %d\n",c);
printf("lokal d= %d\n",d);
printf("lokal e= %d\n",e);
}
void main ()
{ int a=2;
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 11
TUGAS 3 PROSEDUR DAN FUNGSI
int b;
b=4;
int c=0;
printf("global a= %d\n",a);
printf("global b= %d\n",b);
coba_lokal (a,b);
printf("main c= %d\n",c);
printf("global d= %d\n",d);
printf("global e= %d\n",e);
getch();
}
HASIL EKSEKUSI
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 12
Jika dalam sebuah fungsi terdapat variabel a dan didalam program utama juga terdapat variabel a juga (nama sama ) maka variabel yang dipakai tergantung dari skop pengaksesnya.
Jika yang mengakses adalah fungsi , maka variabel yang dipakai adalah variabel lokal jiak yang mengakses adalah program utama , maka yang dipakai adalah variabel dalam program utama.
TUGAS 3 PROSEDUR DAN FUNGSI
CONTOH SKOP VARIABEL 2
#include<stdio.h>
#include<conio.h>
int c=4;
int m=3;
void lokal ()
{ int a =3;
int b=a+2;
printf("lokal a= %d\n",a);
printf("lokal b= %d\n",b);
printf("global c= %d\n",c);
}
void main ()
{ int a=1;
int b=2;
int c=3;
lokal();
printf("main a= %d \n",a);
printf("main b= %d \n",b);
printf("main c= %d \n",c);
printf("global m= %d \n",m);
getch ();
}
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 13
TUGAS 3 PROSEDUR DAN FUNGSI
HASIL EKSEKUSI
Variabel static
Adalah variabel yang memiliki sifat statis , artinya nilai dari variabel tersebut
akan tetap diingat oleh program . sehingga dapat digunakan untuk menyimpan
state pada saat pemanggilan nilai variabel tersebut berikutnya . nilai variabel statis
akan bernilai sama dengan nilai terakhirnya.
CONTOH VARIABEL STATIC
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 14
Variabel global akan membuat fungsi menjadi tidak berfungsi sebagaimana mestinya kurang robust dan sulit untuk digunakan kembali.
TUGAS 3 PROSEDUR DAN FUNGSI
#include<stdio.h>
#include<conio.h>
void coba_static(int a)
{ static int b=3;
int c=1;
printf("b awal : %d\n",b);
b+=a;
printf ("b akhir: %d\n",b);
printf ("c awal : %d\n",c);
c+=a;
printf("c akhir: %d\n",c);
ARGUMENT ATAU PARAMETER FUNCTION
Sebuah fungsi bisa memiliki argumen-argumen yang bersifat
opsional
Argumen berfungsi sebagai parameter masukan yang berupa
variabel-variabel bagi fungsi tersebut (bersifat lokal )
Argumen harus berupa data tertentu
Terdapat 2 jenis parameter
o Parameter formal : parameter yang ditulis pada
deklarasi fungsi
o Parameter aktual : parameter yang dimasukkan ke
dalam program pemanggil fungsi tersebut . dapat
berupa variabel / langsung berupa nilai tertentu sesuai
dengan tipe data yang dideklarasikan untuk masing-
masing parameter fungsi
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 15
}
void main()
{ int a=2;
coba_static(a);
a=3;
coba_static(a);
getch ();
}
TUGAS 3 PROSEDUR DAN FUNGSI
CONTOH
HAL- HAL PENTING
o Nilai variabel dalam fungsi tidak dapat mengubah nilai dalam
function main.
o Sebuah fungsi dapat memanggil fungsi lain.
o Dua/lebih fungsi dapat saling memanggil
o Secara default sifat pemanggilan fungsi dalam C bersifat calling by
value . artinya :
Yang dikirimkan ke fungsi adalah datanya bukan alamat
memorinya.
Fungsi menerima data ini dan akan menyimpannya dalam
alamat memorinya yang berbeda dari alamat aslinya.
Kerena itulah pengubahan nilai di fungsi tidak akan
mengakibatkan perubahan pada nilai aslinya.
Karena itulah pengubahan nilai dari fungsi tidak akan
mengakibatkan perubahan pada nilai aslinya.
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 16
TUGAS 3 PROSEDUR DAN FUNGSI
Pengiriman by value adalah pengiriman searah dari
program yang memanggil fungsi ke fungsi yang dipanggil.
FLOWCHART DAN SKRIPT
Buatlah flowchart dan program untuk menghitung luas dan volume suatu bidang
dengan masukkan panjang sisi / jari-jari , menggunakan menu pilihan dan
prosedure
Contoh tampilan :
1.) Luas lingkaran
2.) Volume bola
3.) Luas bujur sangkar
4.) Volume kubus
5.) Luas kulit bola
6.) Luas keliling kubus
7.) Kembali ke awal
8.) Exit
Pilihan anda : 1
Luas lingkaran : 314
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 17
TUGAS 3 PROSEDUR DAN FUNGSI
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 18
#include <iostream.h>
#include <conio.h>
void main()
{
top:
int pilih;
float LLingkaran, VBola, LBujurSangkar, VKubus, LKBola, KKubus, LPKubus, n;
char ulang;
do
{
clrscr();
cout<<"Masukkan Jari-jari/Panjang Sisi : ";
cin>>n;
cout<<"Menu Utama"<<endl;
cout<<"1. Menghitung Luas Lingkaran"<<endl;
cout<<"2. Menghitung Volume Bola"<<endl;
cout<<"3. Menghitung Luas Bujur Sangkar"<<endl;
cout<<"4. Menghitung Volume Kubus"<<endl;
cout<<"5. Menghitung Luas Kulit Bola"<<endl;
cout<<"6. Menghitung Luas Permukaan Kubus dan Keliling Kubus"<<endl;
cout<<"7. Kembali ke Awal"<<endl;
cout<<"8. Exit"<<endl;
cout<<endl<<endl;
cout<<"Pilihan anda : ";cin>>pilih;
switch (pilih)
{
case 1 :
LLingkaran = 3.14*n*n;
cout<<"Luas Lingkaran adalah : "<<LLingkaran<<endl;
break;
case 2 :
VBola = 3.14*n*n*n;
cout<<"Volume Bola adalah : "<<VBola<<endl;
break;
case 3 :
LBujurSangkar = n*n;
cout<<"Luas Bujur Sangkar adalah : "<<LBujurSangkar<<endl;
break;
case 4 :
VKubus = n*n*n;
cout<<"Volume Kubus adalah : "<<VKubus<<endl;
TUGAS 3 PROSEDUR DAN FUNGSI
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 19
break;
case 5 :
LKBola = 0.667*3.14*n*n;
cout<<"Luas Kulit Bola adalah : "<<LKBola<<endl;
break;
case 6 :
LPKubus = 6*n*n;
KKubus = 12*n;
cout<<"Luas Permukaan Kubus adalah : "<<LPKubus<<endl;
cout<<"Keliling Kubus adalah : "<<KKubus<<endl;
break;
case 7 :
goto top;
break;
case 8 :
cout<<"Press Enter to Exit... "<<endl;
break;
default:
cout<<"Pilihan tidak tersedia"<<endl;
break;
}
cout<<"Kembali ke Menu Utama (y/n)?";cin>>ulang;
}while(ulang == 'y');
getch();
}
TUGAS 3 PROSEDUR DAN FUNGSI
FLOWCHART
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 20
TUGAS 3 PROSEDUR DAN FUNGSI
HASIL DAN PEMBAHASAN
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 21
TUGAS 3 PROSEDUR DAN FUNGSI
Potongan program diatas merupakan simulasi atau hasil eksekusi dari skript
diatas. Program ini merupakan contoh dari prosedur dan fungsi , kita ketahui
bahwa Fungsi merupakan bagian dari kode program yang terpisah dari program
utama. Pada program tersebut didalamnya terdapat beberapa program yaitu luas
lingkaran , volume bola , luas bujur sangkar , volume kubus , luas kulit bola , dan
luas keliling kubus. Seperti pada teori , ciri dari prosedur salah satunya adalah
program besar dapat dipisah menjadi program-progrsm kecil . program diatas
adalah kumpulan dari beberapa program yang dijadikan satu dan sebenarnya
program tersebut juga dapat dipisahkan kembali .
Cara kerja program tersebut adalah kita memasukan bilangan pada kolom
“masukkan jari-jari / panjang sisi : “. Misal masukkan bilangan 3 . enter dan akan
keluar beberapa pilihan yaitu :
1.) Luas lingkaran
2.) Volume bola
3.) Luas bujur sangkar
4.) Volume kubus
5.) Luas kulit bola
6.) Luas keliling kubus
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 22
TUGAS 3 PROSEDUR DAN FUNGSI
7.) Kembali ke awal
8.) Exit
Misalnya masukkan angka 1 pada perintah “ pilihan anda :“ maka yang terjadi
program akan menjalankan keinginan anda sehinnga yang keluar speperti pada
hasil eksekusi diatas yaitu “luas lingkaran adalah 28,26”. Setelah itu anda
diharuskan memilih untuk meneruskan program ataukah menutup program
dengan memasukkan “y/n” seperti yang ada dibawah ini :
KESIMPULAN
Berdasarkan hasil eksekusi program diatas kita dapat mengetahui bahwa
prosedur dan fungsi mempunyai banyak kelebihan yaitu program besar dapat
dipisah menjadi satu , dapat dikerjakan oleh beberapa orang , kemudahan dalam
pembetulan jika terjadi kesalahan , modifikasi program dapat dilakukan pada
suatu modal tertentu saja tanpa mengganggu program keseluruhan.
NOVIATUS SOLEKHAH TT /1-C (121130020)Page 23
top related