MODUL VI :
PROSEDUR DAN FUNGSI
PENYUSUN :
Zakaria Annas
(123090182)
Kelas : D
Plug : 8
Asisten : Sitti Hajriani Hasanah
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS
PEMBANGUNAN NASIONAL “VETERAN” YOGYAKARTA
2009
DASAR
TEORI
1.
Prototipe Fungsi
Sebuah
fungsi tidak dapat dipanggil kecuali sudah dideklarasikan. Untuk melihat hal
ini perhatikan contoh berikut :
void main ( )
{
printf (“Hai \n”);
}
Jika
program ini dijalankan, C++ akan memberikan kesalahan yang menyatakan bahwa
printf( ) tidak memiliki prototype. Hal seperti ini masih bisa lolos
pada bahasa C. Tetapi tidak demikian halnya pada C++. Kesalahan seperti diatas
tidak akan terjadi seandainya program ditulis menjadi seperti berikut :
#include
<stdio.h>
void
main()
{
printf
(“ Hai \n “);
}
Mengapa?
Karena prototipe fungsi printf( ) ada pada file “stdio.h”.
Itulah sebabnya diperlukan untuk menyertakan baris berbentuk :
#include
< nama_file_header >
Deklarasi
fungsi dikenal dengan sebutan prototipe fungsi. Prototipe fungsi ini berupa :
v Nama fungsi.
v Tipe nilai balik fungsi.
v Jumlah dan tipe argumen.
Dan
diakhiri dengan titik koma (;), sebagaimana pada pendeklarasian variable.
Sebagai contoh :
1). long
kuadrat (long l);
2). int
maks3 (int a, int b, int c );
3). double
maks (double x, double y );
4). void
garis ( );
2.
Lingkup Variabel
Pemahaman
terhadap lingkup variable didalam penulisan fungsi sangatlah penting, agar
tidak salah dalam menggunakan suatu variable. Lingkup variable menentukan
keberadaan suatu variable tertentu didalam fungsi. Ada variable yang hanya
dikenal disuatu fungsi dan tidak dikenal pada fungsi lain. Namun ada juga
variable yang dapat di akses oleh semua fungsi.
Jenis
variable berdasarkan kelas penyimpanannya, yaitu :
v Variabel otomatis.
v Variable eksternal.
v Variable statis.
A. Varabel
Otomatis.
Variabel
yang didefinisikan didalam suatu fungsi berlaku sebagai variabel lokal bagi
fungsi. Artinya, variable tesebut hanya dikenal didalam fungsi tempat variable
didefinisikan.
B. Variable
Eksternal.
Varibel
eksternal merupakan kebalikan dari variable otomatis. Variable eksternal adalah
varibel yang didefinisikan diluar fungsi manapun. Variable ini dikenal juga
sebagai variable global, sebab variable ini dikenal di semua fungsi.
Guna
memperjelas bahwa suatu variable didalam suatu fungsi merupakan variable
eksternal, didalam fungsi yang menggunakannya, kita dapat mendeklarasikan
(bukan mendefinisikan, karena tidak ada pengalokasian memori) dengan
menambahkan kata kunci extern didepan tipe data. Kata kunci
menyatakan bahwa variable tersebut didefinisikan di tempat lain.
C. Variabel
Statis.
Baik
variable eksternal maupun otomatis dapat berkedudukan sebagai variable statis.
Suatu variable statis mempunyai sifat :
o Jika variable lokal berdiri sebagai
variable statis, maka :
ü Variabel tetap hanya dapat diakses pada
fungsi yang mendefinisikannya .
ü Variabel tidak hilang saat eksekusi
fungsi berakhir. Nilai akan tetap dipertahankan, sehingga akan dikenali pada pemanggilan
fungsi untuk tahap berikutnya.
ü Inisialisasi oleh pemrogram akan
dilakukan sekali saja selama program dijankan. Jika tidak ada inisialisasi
secara eksplisit, variable diisi dengan nol.
PEMBAHASAN
|
tipe void
#include <iostream>
using std::cout;
using std::endl;
void info ();
int main ()
{
info ();
return 0;
}
void info ()
{
int i;
for (i=0; i<5; i++)
cout << i << endl;
}
Variable funmgsi lokal
#include <iostream>
using
std::cin;
using
std::cout;
using
std::endl;
void
fungsiku () ; //deklarasi fungsi
int
main ()
{
int
x = 5 ;
cout
<< "x dari fungsi 'main ()' : " << x << endl;
cout
<< endl;
cout
<< "***panggil fungsi 'fungsiku (),***\n\n";
fungsiku
();
cout
<< "\nkembali lagi ke 'main()' dari 'fungsiku ()'\n";
cout
<< "";
cout
<< endl;
cout
<< "x dari fungsi 'main ()' lagi : " << x << endl;
return
0;
}
void
fungsiku ()
{
int
x = 10; // variabel local x
cout
<< "x sebagai local dari fungsi 'fungsiku()' : " << x
<< endl;
{
cout
<< "x dari block 'fungsiku ()' :"<< x << endl;
int
x = 8 ;
cout
<< "x sebagai local yg didefinisikan lagi : " << x
<< endl;
}
cout
<< "keluar dari block, didalam 'fungsiku ()' , x : " <<
x;
cout
<< endl;
}

Penjelasan
: hanya dapat digunakan dalam sebuah fungsi ketika fungsi selesai dan kembali
ke fungsi utama variable local tidak dapat digunakan lagi
Pengiriman
para meter
|
#include <iostream>
using
std::cout;
using
std::cin;
void tukar
(int, int);
int main ()
{
int a, b;
a=50;
b=60;
cout <<
"nilai sebelum pemanggilan fungsi\n";
cout <<
"a = " << a << "b = " << b <<
"\n\n";
tukar (a,b);
cout <<
"nilai sesudah pemanggilan fungsi\n";
cout <<
"a = " << a << " b = " << b <<
"\n\n";
return 0;
}
void tukar
(int x,int y)
{
int z;
z = x;
x = y;
y = z;
cout <<
"nilai diakhiri fungsi tukar () \n";
cout <<
"x = " << x << " y = " << y <<
"\n\n";
}
![]() |
Fungsi rekursi
#include <iostream>
using
std::cin;
using
std::cout;
using
std::endl;
int faktorial
(int);
int main ()
{
int x;
cout <<
"mencari faktorial dari x! \n";
cout <<
"masukkan nilai x (bulat positif) : ";
cin >>
x;
cout <<
"faktorial dari " <<x<< " = "
<<faktorial(x) <<endl;
return 0;
}
int faktorial
(int m)
{
if (m == 1)
return (1);
else
return(m *
faktorial (m-1));
}
Penjelasan : fungsi yang memanggil dirinya sendiri
dan dapat dilakukan secara langsung dan tidak langsung
KESIMPULAN
Dari
pembahasan diatas dari hasil praktikum yang saya lakukan, dapat saya simpulkan
bahwa fungsi dapat mengolah data dan mengembalikan nilai. Dengan kata lain
fungsi adalah sebuah program kecil di dalam perogram utama. Dan setiap program
C++ memiliki fungsi dan setiap fungsi memiliki namantya sendiri. Dan ketika
namanya tersebut di temukan dalam urutan intruksi, maka jalanya program akan
berpindah ke dalam fungsi tersebut.
TUGAS
#include
<iostream>
using
std::cin;
using
std::cout;
using
std::endl;
int main()
{
int sisia, sisib, sisic, pilih, alas, tinggi,
keliling;
float luas;
menu:
cout
<< "\nMenu Hitung\n";
cout
<< "\n 1 = Luas Segitiga \n 2 = keliling segitiga \n 3 =
Selesai";
cout
<< "\nPilihan :"; cin >> pilih;
switch(pilih)
{
case 1 :
{
cout
<< " ";
cout
<< "\nMasukkan alas:"; cin >> alas;
cout
<< "Masukkan tinggi:"; cin >> tinggi;
luas=0.5*alas*tinggi;
cout
<< "Luas Segitiga = " << luas;
break;
}
case 2 :
{
cout
<< " ";
cout
<< "\nPanjang sisi a :"; cin >> sisia;
cout
<< "Panjang sisi b :"; cin >> sisib;
cout
<< "Panjang sisi c :"; cin >> sisic;
keliling=sisia+sisib+sisic;
cout
<< "Keliling Segitiga = " << keliling;
break;
}
case 3 :
{ exit
(0);}
}
goto menu;
return 0;
}
Semoga dengan postingan diatas yang berjudul Pemrograman Dasar C++ Prosedur Dan Fungsi dapat bermanfaat untuk sobatku semuanya, dan jangan lupa share buat temannya ya.
0 Response to "Pemrograman Dasar C++ Prosedur Dan Fungsi"
Post a Comment