Anda di halaman 1dari 17

PROGRAM STUDI S1 TEKNIK INFORMATIKA

UNIVERSITAS PAMULANG

PROSEDUR DAN
FUNGSI (lanjutan)

Algoritma dan
Pemrograman 2
InfoTI_unpam informatika.unpam.ac.id agus heri yunial Agus Heri Yunial,S.Kom, M.Kom.
Tujuan Pembelajaran
• Mahasiswa diharapkan mampu mengerti dan dapat menggunakan
fungsi dan prosedur dalam pemrograman.

Program Studi Teknik Informatika, Universitas Pamulang


Review
• Apa perbedaan Fungsi dan Prosedur di dalam c++?

Program Studi Teknik Informatika, Universitas Pamulang


Variabel Lokal
• Semua variabel yang dibuat dalam suatu FUNCTION, akan bersifat variabel
LOKAL

Deklarasi fungsi fungsi CETAK()


Tipe : void di-DEFINISIKAN
sebelum fungsi main().

fungsi CETAK() ini, merupakan


suatu subprogram tersendiri
yang dapat membuat variabel
sendiri, semua variabel yang
dibuat sendiri disini, variabel
tersebut disebut variabel
Laksanakan semua
LOKAL, yang artinya hanya
fungsi yang ada dalam
berlaku pada fungsi ini saja,
fungsi CETAK().
tidak berlaku di fungsi main(),
atau dalam fungsi lainnya

Program Studi Teknik Informatika, Universitas Pamulang


Semua variabel yang ada dalam fungsi utama main(), juga
bersifat lokal, hanya dikenal dalam fungsi main() saja, tidak
dikenal dalam fungsi lain.

Dalam fungsi main() atau program induk ada 3 variabel :

5 2 7 Semua variabel yang ada


di sini tidak dikenal
A B T dalam fungsi CETAK()

Terjadi ERROR!, karena fungsi CETAK tidak mengenal variabel T, karena dalam fungsi
CETAK tidak ada perintah menyiapkan variabel T, seperti int T

Program Studi Teknik Informatika, Universitas Pamulang


Contoh 1

Output:

Dalam main, angka = 35


Dalam f1, angka = 44
Dalam main, angka = 35

Program Studi Teknik Informatika, Universitas Pamulang


Variabel Global
GLOBAL

7 Variabel T didefinisikan tersendiri diatas


(sebelum) semua fungsi.
T Sehingga variabel T berlaku disemua tempat,
baik dalam program utama, maupun dalam
Dalam lingkup GLOBAL
sub program
ada variabel T

Fungsi main() Variabel T disebut : variabel GLOBAL


sedangkan variabel A dan B disebut LOCAL
yaitu variabel yang hanya berlaku dalam
5 2 fungsi dimana dia didefinisikan.

A B
Dalam fungsi main()
Hanya ada variabel A
dan B Dari contoh di atas, main program atau fungsi main di sebut CALLING FUNCTION yaitu
Dalam fungsi CETAK() fungsi yang mengCALL(memanggil fungsi), sedangkan fungsi CETAK di sebut CALLED
Fungsi CETAK() tidak ada variabel.
Sehingga variabel T FUNCTION yaitu fungsi yang diCALL (fungsi yang di panggil).
diambil dari GLOBAL

Program Studi Teknik Informatika, Universitas Pamulang


Contoh 2

Output:

Dalam main, angka = 50


Dalam f1, angka = 44
Dalam main, angka = 44

Program Studi Teknik Informatika, Universitas Pamulang


Variabel Statis
Variabel statis adalah variabel lokal yang nilainya tidak berubah walaupun kontrol program
sudah meninggalkan fungsi.

• Ketika fungsi penghitung dipanggil pertama kali,


variabel statis cnt diinisialisasi menjadi 0.
• Saat meninggalkan fungsi penghitung, variabel cnt
tidak dihapus oleh sistem. Nilainya juga tetap
dipegang. Saat meninggalkan fungsi penghitung, nilai
cnt adalah 1, hasil dari increment.
• Ketika dipanggil lagi oleh main, inisialisasi int cnt=0 di
TIDAK DIJALANKAN lagi. Maka nilai cnt tetap 1.
Ketika di-increment, nilai cnt menjadi 2. Demikian juga
ketika dipanggil ketiga kali.
Output:

Dipanggil 1 kali
Dipanggil 2 kali
Dipanggil 3 kali

Program Studi Teknik Informatika, Universitas Pamulang


Parameter
• Program biasanya memerlukan pertukaran informasi antara fungsi dan
pemanggilnya. Mekanisme ini dapat dicapai dengan penggunaan
parameter.
• Parameter di fungsi yang dipanggil disebut parameter formal, parameter
yang diberikan oleh fungsi pemanggil disebut parameter aktual.
• Aturan yang harus diperhatikan antara parameter formal dan aktual adalah
sebagai berikut:
1. Jumlah parameter aktual harus sama dengan jumlah parameter formal
pada deklarasi prosedurnya. Bukan hanya sama, urutannya juga harus
sesuai.
2. Parameter aktual harus mempunyai tipe data yang sama dengan tipe
data parameter formal yang bersesuaian
3. Parameter aktual dituliskan sesuai dengan jenis parameter formal, yaitu
apakah parameter masukan atau keluaran.

Program Studi Teknik Informatika, Universitas Pamulang


Parameter Masukan
• Parameter yang berlaku sebagai masukan untuk fungsi yang dipanggil. Parameter ini tidak berubah
nilainya di sisi fungsi pemanggil. Disebut juga sebagai parameter nilai (parameter by value).

Untuk prototipe, diperbolehkan tidak


menyebut nama variabel hanya
disebutkan tipe datanya
panjang dan lebar adalah parameter
aktual yang diberikan oleh fungsi
main

Program Studi Teknik Informatika, Universitas Pamulang


Parameter Keluaran
• Parameter keluaran adalah hasil dari fungsi yang dipanggil. Nilai dari parameter ini diharapkan
akan diisi oleh fungsi yang dipanggil. Disebut juga parameter referensi (parameter by reference).

Parameter keluaran ini dituliskan


dituliskan sebagai pointer (*).

Program Studi Teknik Informatika, Universitas Pamulang


Fungsi Rekursif
• Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Proses
pemanggilan fungsi rekursif disebut rekursi. Oleh karena itu, algoritma
rekursif harus dinyatakan dalam prosedur atau fungsi karena hanya
prosedur atau fungsi yang dapat dipanggil dalam sebuah program.
• Badan fungsi rekursif disusun oleh dua bagian :
1. Basis : bagian ini berisi proses yang memberikan sebuah nilai definitif
pada fungsi rekursif. Bagian ini menghentikan fungsi rekursif.
2. Rekurens : bagian yang mendefinisikan nilai dalam terminologi dirinya
sendiri. Bagian ini akan memanggil diri sendiri dengan nilai input yang
lebih sedikit atau lebih sederhana

Program Studi Teknik Informatika, Universitas Pamulang


Contoh 3

Output:

Genap ke 8 adalah 14

Program Studi Teknik Informatika, Universitas Pamulang


Latihan 1
Buatlah satu program C++ yang
menggunakan fungksi rekursif untuk
menghitung factorial. Mintalah
masukan dari pengguna satu angka
untuk dihitung faktorialnya seperti
keluaran disamping!
Note:
Rekurens factorial bisa menggunakan
return n * Fakt(n-1);

Program Studi Teknik Informatika, Universitas Pamulang


Kesimpulan
• Semua variabel yang dibuat dalam suatu FUNCTION, akan bersifat
variabel LOKAL
• Variabel global dideklarasikan di luar semua blok.
• Variabel statis adalah variabel lokal yang nilainya tidak berubah walaupun
kontrol program sudah meninggalkan fungsi.
• Parameter di fungsi yang dipanggil disebut parameter formal, parameter
yang diberikan oleh fungsi pemanggil disebut parameter aktual

Program Studi Teknik Informatika, Universitas Pamulang


TERIMA KASIH, MAHASISWA TEKNIK INFORMATIKA UNGGUL, ANDA SUDAH BELAJAR DENGAN LUAR BIASA

Program Studi Teknik Informatika, Universitas Pamulang

Anda mungkin juga menyukai