Anda di halaman 1dari 34

Algoritma & Pemograman 2

(C++)

Eman Suryaman Junaedi


eman.sj05@yahoo.co.id
emansj@emansj.net
0815-140-6565-3
Chapter 1
Fungsi (Function)

Eman Suryaman Junaedi


eman.sj05@yahoo.co.id
emansj@emansj.net
0815-140-6565-3
Fungsi (Function)
Sekumpulan perintah operasi program yang dapat
menerima input dan dapat memberikan hasil/output
berupa nilai ataupun sebuah hasil operasi.

Kegunaan Fungsi :
Mengurangi pengulangan penulisan program yang sama.
Program menjadi lebih terstruktur, sehingga mudah dipahami dan
lebih dapat dikembangkan.
Gambaran Fungsi (Function Visualization)
fn_kesatu();
{
main() statement1;
.......
{ statementN;
}
statement1;
fn_kesatu(); fn_kedua();
statement2; {
statement1;
fn_kedua(); .......
fn_ketiga(); statementN;
}
statement3;
statement4; fn_ketiga();
} {
statement1;
.......
statementN;
}
Gambaran Fungsi (Function Visualization)
fn_kesatu();
{
main() statement1;
.......
{ statementN;
}
statement1;
fn_kesatu(); fn_kedua();
statement2; {
statement1;
fn_kedua(); .......
fn_ketiga(); statementN;
}
statement3;
statement4; fn_ketiga();
fn_kesatu(); {
statement1;
} .......
Dapat dipanggil/digunakan statementN;
lebih dari satu kali. }
Gambaran Fungsi (Function Visualization)
fn_kesatu();
{ Fungsi dapat
main() statement1; memanggil fungsi
....... yang lainnya.
{ statementN;
}
statement1;
fn_kesatu(); fn_kedua();
statement2; {
statement1;
fn_kedua(); .......
fn_ketiga(); statementN;
}
statement3;
statement4; fn_ketiga();
} {
statement1;
.......
statementN;
fn_kedua();
}
Gambaran Fungsi (Function Visualization)
fn_kesatu();
{
main() statement1;
.......
{ statementN;
}
statement1;
fn_kesatu(); fn_kedua(); Fungsi dapat
memanggil
statement2; {
dirinya sendiri
statement1;
fn_kedua(); .......
(yang dinamakan
rekursif).
fn_ketiga(); statementN;
}
statement3;
statement4; fn_ketiga();
} {
statement1;
.......
statementN;
fn_ketiga();
}
Fungsi/Function : Contoh <fungsi_garis.cpp>
#include <iostream.h>
#include <conio.h>

void garis()
{
cout <<"---------------------" <<endl;
}

void main()
{
garis();
cout <<"Welcome to the jungle" <<endl;
garis();
cout <<"Selamat belajar C++" <<endl;
cout <<"Enjoy your life" <<endl;
garis();

Fungsi dapat
getch();
dipanggil/digunakan lebih
} dari satu kali.
Fungsi/Function : Contoh <fungsi_fungsipanggilfungsilain.cpp>

#include <iostream.h>
#include <conio.h>

void pindahbaris()
{
cout <<endl <<endl;
}

void garis()
{
cout <<"---------------------" <<endl;
pindahbaris();
}

void main()
{
garis();
cout <<"Welcome to the jungle" <<endl;
garis();
cout <<"Selamat belajar C++" <<endl;
cout <<"Enjoy your life" <<endl;
garis();

getch(); Fungsi dapat memanggil fungsi


} yang lainnya.
Struktur Fungsi
Kepala Fungsi /
Bentuk umum dari struktur fungsi ditulis dengan bentuk sebagai berikut; Deklarasi Fungsi /
Inisialisasi Fungsi

<tipe_nilai_balik> nm_fungsi(<tipe parameter1> <, tipe parameter2> <, ....>)


{
perintah/statement;
}
Badan Fungsi

Keterangan:
tipe_nilai_balik : Tipe data dari fungsi (digunakan untuk fungsi dengan nilai balik)
Optional (boleh ditulis atau tidak).
nama_fungsi() : Nama dari fungsi.
tipe : Tipe data dari parameter.
Optional (boleh ditulis atau tidak, jika tidak ada parameter).
parameter : Argumen, boleh diisi atau dibiarkan kosong.
Optional (boleh ditulis atau tidak).
Prototipe Fungsi
Prototipe merupakan uraian dari blok fungsi yang dapat digunakan untuk mendeklarasikan
ke kompiler mengenai uraiannya.
Sebuah fungsi tidak dapat dipanggil kecuali sudah dideklarasikan, deklarasi fungsi dikenal
dengan sebutan prototipe. Prototipe fungsi berupa:

<tipe_nilai_balik> nm_fungsi(<tipe parameter1> <, tipe parameter2> <, ....>) ;

Ditulis sebelum fungsi main Titik Koma


Keterangan:
tipe_nilai_balik : Tipe data dari fungsi (digunakan untuk fungsi dengan nilai balik)
Optional (boleh ditulis atau tidak).
nama_fungsi() : Nama dari fungsi.
tipe : Tipe data dari parameter.
Optional (boleh ditulis atau tidak, jika tidak ada parameter).
Parameter : Argumen, boleh diisi atau dibiarkan kosong.
Optional (boleh ditulis atau tidak).
; : Titik koma.
Fungsi Tanpa Nilai Balik
 Fungsi Tanpa Nilai Balik = sebuah Prosedur
Sebuah program yang besar
biasanya disusun atas sejumlah
Dalam beberapa bagian yang lebih kecil yang
bahasa pemograman dinamakan subrutin atau
subprogram
Subroutine

Function Procedure

Subrutin yang menghasilkan nilai Subrutin yang tidak menghasilkan


balik ketika subrutin dipanggil nilai balik ketika subrutin dipanggil

 Dalam bahasa C++, fungsi = fungsi dan prosedur = fungsi


 Fungsi tanpa nilai balik, pada bagian tipe_nilai_balik fungsinya ditulis void (void berarti
tanpa nilai balik)
Fungsi Tanpa Nilai Balik : Contoh <fungsi_garis.cpp>
#include <iostream.h>
#include <conio.h>

void garis()
{
cout <<"---------------------" <<endl;
}

void main()
{
garis();
cout <<"Welcome to the jungle" <<endl;
garis();
cout <<"Selamat belajar C++" <<endl;
cout <<"Enjoy your life" <<endl;
garis();

getch();
}
Fungsi Dengan Nilai Balik
 Fungsi dengan nilai balik, pada bagian tipe_nilai_balik fungsinya dituliskan dengan tipe
data (seperti : int, char[], float, double, dll.)

 int umurKu()
{
perintah/statement;
}

 Apabila tidak dituliskan tipe data untuk nilai balik dari fungsi tersebut, maka akan
dikenal sebagai tipe data int (integer) oleh kompiler, karena default-nya adalah int (integer).

 umurKu()
{
perintah/statement;
}

default : int (integer)

 Fungsi nilai balik menggunakan statement return u/ mengisi sebuah nilai ke fungsinya.
Fungsi Dengan Nilai Balik : Contoh <fungsi_nilaibalik.cpp>
#include <iostream.h>
#include <conio.h>

int umurKu()
{
return 19;
}

void main()
{
int umurGUE;

cout <<"Namaku : Brandon" <<endl;


umurGUE = umurKu();
cout <<"Umurku : " <<umurGUE <<" tahun" <<endl;

getch();
}
TUGAS
 Tulis beberapa program dari slide Chapter 1 (Part 1) ini dan coba
jalankan, program tersebut dapat ditemukan pada slide yang judulnya
terdapat kata Contoh dan atau Latihan.
 Setelah semua program sukses dijalankan, copy file .cpp dan .exe ke
satu folder yang bernamakan [C1P1-KELAS-NAMA-NIM], contoh
KELAS : 1X
NIM : 2011050505
NAMA : EMAN SURYAMAN JUNAEDI
 C1P1-1X-EMAN SURYAMAN JUNAEDI-2011050505
Kumpulkan ke Ketua Kelas, Folder yang berisi file .cpp dan .exe anda.
Ketua Kelas mengumpulkan semua latihan mahasiswa pada
pertemuan/perkuliahan selanjutnya dalam 1 Folder untuk kelasnya tersebut.
Namakan Foldernya dengan [C1P1-KELAS].
 C1P1-1X
Chapter 1
Fungsi (Function)

Eman Suryaman Junaedi


eman.sj05@yahoo.co.id
emansj@emansj.net
0815-140-6565-3
Apa itu Parameter ....!
 Suatu pendefinisan nilai-nilai dari objek-objek yang dideklarasikan pada bagian argumen
di fungsi. Nilai-nilai dari objek tersebut didapat dari variabel-variabel yang berada pada
program utama.

 Parameter bisa disebut juga dengan Variabel.

 Atau gini .... Parameter merupakan Variabel yang berada dalam baris argumen pada
sebuah fungsi.

Parameter ke-1 Parameter ke-2

int tambah( int nilai1, int nilai2 )

Nama fungsi argumen


Parameter fungsi ada 2 macam ....
 Parameter Formal
Variabel yang terdapat pada daftar parameter (argumen) yang berada dalam definisi
fungsi.
int tambah(int nilai1, int nilai2) Parameter Formal
{
return (nilai1 + nilai2);
}

 Parameter Aktual
Variabel yang digunakan pada pemanggilan suatu fungsi.

void main()
{
int a = 5, b = 10, c ;

c = tambah(a, b); Parameter Aktual

cout <<a <<“ + “ <<b <<“ = “ <<c ;


}
Parameter Fungsi : Contoh <fungsi_parameter.cpp>
#include <iostream.h>
#include <conio.h>

int tambah(int nilai1, int nilai2)


{
return (nilai1 + nilai2);
}

void main()
{
int a, b, c;

a = 5 ;
b = 10 ;
c = tambah(a, b);

cout <<a <<" + " <<b <<" = " <<c ;


getch();
}
Parameter Fungsi

 Sudah kenal kan dengan Fungsi ....? (struktur/bentuk umum, prototipe, dll)
 Sudah kenal kan dengan Fungsi dengan nilai balik (fungsi/function) ....?
 Sudah kenal kan dengan Fungsi tanpa nilai balik (prosedur/procedure) ....?

 Sudah kenal kan dengan Parameter ...?


 Sudah kenal kan dengan Parameter Formal ...?
 Sudah kenal kan dengan Parameter Aktual ...?

Parameter (Parameter Formal) yang bisa dan


tidak mengembalikan nilai balik ke variabel
pemanggilnya (Parameter Aktual)
Pemanggilan Parameter Fungsi
Parameter tanpa nilai balik

Call by Value (pemanggilan dengan nilai)

Parameter dengan nilai balik

Call by Reference (pemanggilan dengan referensi)


Call by Value (pemanggilan dengan nilai)

 Parameter Aktual akan dimasukkan ke Parameter Formal

 Parameter Aktual tidak dapat berubah, walaupun nilai dari


Parameter Formal berubah.
Call by Value : Contoh <fungsi_param_value.cpp>
#include <iostream.h> void main()
#include <conio.h> {
int a, b;

void tambah(int x, int y) a = 5 ; b = 10 ;


{
cout<<"Nilai dalam fungsi"<<endl; cout <<"Nilai sebelum fungsi" <<endl;
x = 20; cout <<"a = " <<a <<" b = " <<b;
y = 25; cout <<endl <<endl;

cout <<“x = " <<x <<" y = " <<y ;


tambah(a, b);
cout <<endl <<endl;
} cout <<"Nilai setelah fungsi" <<endl;
cout <<"a = " <<a <<" b = " <<b;
cout <<endl <<endl;

getch();
}
Page 1 Page 2
Call by Reference (pemanggilan dengan referensi)

 Parameter Aktual akan dimasukkan ke Parameter Formal

 Parameter Aktual akan berubah mengikuti perubahan nilai dari


Parameter Formal.

 Parameter dalam definisi fungsi ditulis dengan awalan tanda &.


Call by Reference : Contoh <fungsi_param_ref.cpp>
#include <iostream.h> void main()
#include <conio.h> {
int a, b;

void tambah(int &x, int &y) a = 5 ; b = 10 ;


{
cout <<"Nilai sebelum fungsi" <<endl;
cout<<"Nilai dalam fungsi"<<endl;
cout <<"a = " <<a <<" b = " <<b;
x = 20; cout <<endl <<endl;
y = 25;
cout <<“x = " <<x <<" y = " <<y ; tambah(a, b);
cout <<endl <<endl;
} cout <<"Nilai setelah fungsi" <<endl;
cout <<"a = " <<a <<" b = " <<b;
cout <<endl <<endl;

getch();
}
Page 1 Page 2
Jenis Variabel

Variabel Lokal
Jenis Variabel
Variabel Global/Eksternal

Variabel Statis
Variabel Lokal

Dideklarasikan di dalam fungsi

Hanya dikenal oleh fungsi yang bersangkutan


Variabel Lokal : Contoh <variabel_lokal.cpp>
#include <iostream.h> void main()
#include <conio.h> {
int x;
void lokal() x = 15;
{
int x; cout<<"x dalam fungsi main()= " <<x;
cout <<endl <<endl;
x = 10;
lokal();
cout <<endl <<endl;
cout<<"x dalam fungsi lokal()= " <<x;
} cout <<"x dalam fungsi main()= " <<x;
cout <<endl <<endl;

getch();
}

Page 1 Page 2
Variabel Global

Dideklarasikan di luar fungsi

Dapat digunakan bersama-sama, tanpa harus deklarasi ulang


Variabel Global : Contoh <variabel_global.cpp>
#include <iostream.h>
#include <conio.h>

int x = 5;

void lokal()
{
x = x + 10;
}

void main()
{
cout <<"Nilai x di dalam fungsi main() = " <<x ;
cout <<endl <<endl;

lokal();
cout <<"Nilai x setelah panggil fungsi lokal() = " <<x ;

getch();
}
Variabel Statis

Hanya dikenal oleh fungsi yang bersangkutan,


Kalau dideklarasikan di dalam fungsi secara lokal

Dapat digunakan bersama-sama,


Kalau dideklarasikan di luar fungsi secara global

Pakai kata kunci static di depannya nama variabel ketika


dideklarasikan
Variabel Statis : Contoh <variabel_statis.cpp>
#include <iostream.h> void main()
#include <conio.h> {
int x = 99;
void lokal() lokal();
{ lokal();
static int x=6; cout <<"x dalam fungsi main()= " <<x;
cout <<endl;
x = x + 5; lokal();

getch();
cout<<"x dalam fungsi lokal()= " <<x; }
cout <<endl;
}

Page 1 Page 2
TUGAS
 Tulis beberapa program dari slide Chapter 1 (Part 2) ini dan coba
jalankan, program tersebut dapat ditemukan pada slide yang judulnya
terdapat kata Contoh dan atau Latihan.
 Setelah semua program sukses dijalankan, copy file .cpp dan .exe ke
satu folder yang bernamakan [C1P2-KELAS-NAMA-NIM], contoh
KELAS : 1X
NIM : 2011050505
NAMA : EMAN SURYAMAN JUNAEDI
 C1P2-1X-EMAN SURYAMAN JUNAEDI-2011050505
Kumpulkan ke Ketua Kelas, Folder yang berisi file .cpp dan .exe anda.
Ketua Kelas mengumpulkan semua latihan mahasiswa pada
pertemuan/perkuliahan selanjutnya dalam 1 Folder untuk kelasnya tersebut.
Namakan Foldernya dengan [C1P2-KELAS].
 C1P2-1X

Anda mungkin juga menyukai