Anda di halaman 1dari 21

Modul 3 : Fungsi

MODUL 3
FUNGSI
A. Tujuan
a. Mahasiswa mengenal function dalam bahasa C++.

b. Mahasiswa bisa membuat program procedural menggunakan bahasa C++.

B. Dasar Teori
a) Fungsi
Fungsi merupakan suatu bagian dari program yang dimaksudkan untuk
mengerjakan suatu tugas tertentu dan letaknya terpisah dari program yang
memanggilnya. Fungsi merupakan elemen utama dalam bahasa C karena bahasa
C sendiri terbentuk dari kumpulan fungsi-fungsi. Dalam setiap program bahasa
C, minimal terdapat satu fungsi yaitu fungsi main(). Fungsi banyak diterapkan
dalam program-program C yang terstruktur. Keuntungan penggunaan fungsi
dalam program yaitu program akan memiliki struktur yang jelas (mempunyai
readability yang tinggi) dan juga akan menghindari penulisan bagian program
yang sama. Dalam bahasa C fungsi dapat dibagi menjadi dua, yaitu fungsi
pustaka dan fungsi yang didefinisikan atau dibuat oleh programmer.

b) Deklarasi Fungsi
Suatu fungsi yang memberikan hasil balik selain tipe integer perlu
dideklarasikan sebelum digunakan. Deklarasi fungsi ditulis sebelum fungsi
tersebut digunakan.
Bentuk umum dari deklarasi fungsi :
tipe nama_fungsi( argumen1, argumen2, ... );
Jika bagian dari program yang menggunakan fungsi diletakkan sebelum
definisi fungsi, maka deklarasi fungsi diperlukan. Akan tetapi jika bagian
program yang menggunakan fungsi terletak setelah definisi dari fungsi, maka
deklarasi fungsi boleh tidak dapat dituliskan. Jika suatu fungsi memberikan hasil
balik, maka nilai hasil balik yang diberikan oleh fungsi dapat dilakukan oleh
statement return yang diikuti oleh nilai hasil baliknya yang ditulis tanda kurung.
Contoh :
return(F);

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 1


Modul 3 : Fungsi

Contoh program :
#include <stdio.h>
#include <conio.h>

int faktorial (int N); /*prototype fungsi*/


int main()
{
int N;
int fak;
printf ("berapa faktorial ? ");
scanf ("%d", &N); fak = faktorial (N);
printf ("%d faktorial = %d\n", N, fak);
getch();
}

int faktorial (int N) /*definisi fungsi*/


{
int I;
int F=1;
if (N<=0)
return (0);
for (I=2;I<=N;I++)
F *= I;
return(F);
}

c) Penggolongan Variabel
Terdapat tiga macam bentuk variabel yang mempunyai ruang lingkup
berbeda, yaitu variabel lokal, variabel global, variabel register dan variabel
statik.
1. Variabel Lokal
Merupakan variabel yang namanya dan nilainya hanya dikenal di suatu
blok statement tertentu saja atau di dalam suatu fungsi. Variabel lokal akan
dihapus dari memori jika proses sudah meninggalkan blok statement letak
variabel lokalnya.
Sifat-sifat variabel lokal :
 Secara otomatis akan diciptakan ketika fungsi dipanggil dan akan
lenyap ketika proses eksekusi terhadap fungsi berakhir.
 Hanya dikenal oleh fungsi tempat variabel dideklarasikan
 Tidak ada inisialisasi secara otomatis (saat variabel diciptakan
nilainya random).
 Dideklarasikan dengan menambahkan kata “auto” (opsional).
2. Variabel Global

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 2


Modul 3 : Fungsi

Variabel global (eksternal) adalah variabel yang dideklarasikan di luar fungsi.


Sifat-sifat variabel global :
 Dikenal (dapat diakses) oleh semua fungsi.
 Jika tidak diberi nilai awal secara otomatis berisi nilai nol.
 Dideklarasikan dengan menambahkan kata “extern” (opsional).
3. Variabel Register
Variabel Register adalah variabel yang nilainya disimpan dalam register dan
bukan dalam memori RAM.
Sifat-sifat variabel register :
 Hanya dapat diterapkan pada variabel lokal yang bertipe int dan char.
 Digunakan untuk mengendalikan proses perulangan (looping).
 Proses perulangan akan lebih cepat karena variabel register memiliki
kecepatan yang lebih tinggi dibandingkan variabel biasa.
 Dideklarasikan dengan menambahkan kata “register”.
4. Variabel Statik
Variabel statis adalah variabel yang nilainya tetap dan bisa berupa variabel
lokal (internal) dan variabel global (eksternal).
Sifat-sifat variabel statis:
 Jika bersifat internal (lokal), maka variabel hanya dikenal oleh fungsi
tempat variabel dideklarasikan.
 Jika bersifat eksternal (global), maka variabel dapat dipergunakan
oleh semua fungsi yang terletak pada program yang sama
 Nilai variabel statis tidak akan hilang walau eksekusi terhadap fungsi
telah berakhir.
 Inisialisasi hanya perlu dilakukan sekali saja, yaitu pada saat fungsi
dipanggil pertama kali.
 Jika tidak diberi nilai awal secara otomatis berisi nilai nol.
 Dideklarasikan dengan menambahkan kata “static”

d) Parameter

Parameter adalah tempat penyimpanan (variabel) di dalam function, yang


digunakan untuk melakukan pemeberian data dari pemanggil ke dalam function.

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 3


Modul 3 : Fungsi

Parameter terletak di antara tanda kurung ( dan ) setelah identitas dari function,
dan sebuah function dapat memiliki beberapa parameter yang dipisahkan dengan
tanda koma ,.

Function biasanya membutuhkan data untuk beroperasi, Yang biasa kita


lalukan dalam mendapatkan data adalah dengan memanggil variabel, tapi kita
harus ingat dengan peraturan variabel lokal dalam ruang lingkup. Kita tidak bisa
dengan mudah mendapatkan data dari scope lain.

Jenis-jenis Parameter

1. Parameter Formal
adalah variabel lokal yang didirikan di dalam deklarasi function (bukan
definisi), Yang merupakan tempat penyimpanan nilai dari argument yang
diberikan saat pemanggilan function.
Bentuk Umum Penulisan

returnType identitas (Function Parameters){


//…definisi…
}

Function parameter berada di dalam deklarasi function, di antara tanda


( dan ) setelah identitas dari function. di dalam tanda kurung tersebut anda
bisa membuat banyak parameter, dan masing-masing dipisahkan dengan
tanda koma ,.
2. Argument
Argument adalah parameter yang menyertai pemanggilan function.
merupakan tempat dimana anda bisa memberikan data untuk digunakan di
dalam function yang dipanggil dan diberikan saat pemanggilan function
tersebut.
Pemberian data ke dalam function custom dapat berupa data langsung,
data dari suatu variabel, data dari konstanta, data dari pengembalian function
atau merupakan hasil dari operasi. Pemberian data ke dalam function harus
mengikuti aturan yang telah ditetapkan oleh function parameter.
Bentuk Umum Penulisan:

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 4


Modul 3 : Fungsi

nama(arguments);

jika lebih dari 1 argument, masing-masing argument akan dipisahkan dengan


tanda koma. Pemberian arguments harus sesuai dengan parameter.
e) Fungsi Tanpa Nilai Balik
adalah suatu fungsi yang tidak mengembalikan nilai apapun kepada perintah
pemanggilnya.
Adapun ciri-ciri fungsi yang tidak mengembalikan nilai ke perintah
pemanggilnya adalah:

 Menggunakan void pada pendeklarasian fungsi


 Tidak memiliki keyword “return”

Fungsi tanpa nilai balik juga dapat memiliki atau tidak memiliki parameter.
Berikut penjelasan lengkapnya.

Adapun sintaks fungsi tanpa nilai balik adalah sebagai berikut:

void nama_fungsi (par1, par2, …, parN){

//Badan fungsi

Berdasarkan sintaks di atas, perlu dicatat hal-hal berikut:

 Fungsi tanpa nilai balik harus dideklarasikan dengan tipe void.


 Tidak menggunakan keyword return.
 Biasanya hasil pengolahan data langsung ditampilkan melalui badan
fungsi.
 Boleh tidak memiliki atau memiliki parameter.

f) Fungsi Dengan Nilai Balik

Fungsi dengan nilai balik adalah suatu fungsi yang mengembalikan suatu


nilai kepada perintah pemanggilnya

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 5


Modul 3 : Fungsi

Adapun ciri-ciri fungsi yang mengembalikan nilai ke perintah pemanggilnya


adalah:

 Menggunakan tipe data pada awal pendeklarasian fungsi


 Tidak menggunakan void
 Memiliki keyword “return” di dalam badan fungsi

Contoh
tipe_nilai_balik nama_fungsi (par1, par2, …, parN){

//Proses yang terjadi di dalam fungsi

return output;

Berdasarkan sintaks di atas, perlu dicatat hal-hal berikut:

 Tipe_nilai_balik/Tipe_data harus diisi dengan tipe data yang sama


dengan output (nilai yang dikembalikan oleh fungsi).
 Output (variabel atau nilai) yang akan dikembalikan ditempatkan di
depan keyword return dan diakhiri dengan “;”.
 Output atau (variabel atau nilai) yang akan dikembalikan harus memiliki tipe
data yang sama dengan tipe data fungsi.
 Keyword return diletakkan sebelum nilai atau variabel yang akan
dikembalikan.
 Fungsi boleh tidak memiliki atau memiliki parameter.

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 6


Modul 3 : Fungsi

C. Permasalahan
Permasalahan Percobaan 3 (FUNGSI):
Membuat program Konversi Satuan panjang dengan Meter sebagai masukan
menggunakan fungsi (menggunakan switch case/if else,setiap jenis konversi dibuatkan
fungsi,setiap switch case ada pemanggilan fungsi)

Flowchart:

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 7


Modul 3 : Fungsi

Script Program:
#include <iostream>

#include <conio.h>

#include <stdio.h>

using namespace std;

float x;

int pil;

char y;

int kilometer () {

cout<<endl<<endl;

cout<<"===Konversi meter ke kilometer==="<<endl;

cout<< " Masukan satuan panjang (m) : "; cin>>x;

cout<< " => " << x << " m = " <<(x/1000) << " km " << endl;

int hektometer () {

cout<<endl<<endl;

cout<<"===Konversi Meter ke Hektometer=="<<endl;

cout << " Masukkan satuan panjang (M) : "; cin >> x;

cout << " => " << x << " m = " << (x/100) << " Hm "<< endl;

int dekameter () {

cout<<endl<<endl;

cout<<"===Konversi Meter ke Dekaometer=="<<endl;

cout << " Masukkan satuan panjang (M) : "; cin >> x;

cout << " => " << x << " m = " << (x/10) << " Dam "<< endl;

int desimeter () {

cout<<endl<<endl;

cout<<"===Konversi Meter ke Desimeter=="<<endl;

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 8


Modul 3 : Fungsi
cout << " Masukkan satuan panjang (M) : "; cin >> x;

cout << " => " << x << " m = " << (x*10) << " Dm "<< endl;

int centimeter () {

cout<<endl<<endl;

cout<<"===Konversi Meter ke Centimeter=="<<endl;

cout << " Masukkan satuan panjang (M) : "; cin >> x;

cout << " => " << x << " m = " << (x*100) << " Cm "<< endl;

int milimeter () {

cout<<endl<<endl;

cout<<"===Konversi Meter ke Milimeter=="<<endl;

cout << " Masukkan satuan panjang (M) : "; cin >> x;

cout << " => " << x << " m = " << (x*1000) << " Mm "<< endl;

int menu () {

cout << "===================================" << endl;

cout << "--Program konversi satuan panjang--" << endl;

cout << "===================================" << endl;

cout << " 1 Untuk Meter ke Kilometer " << endl;

cout << " 2 Untuk Meter ke Hektometer " << endl;

cout << " 3 Untuk Meter ke Dekameter " << endl;

cout << " 4 Untuk Meter ke Desimeter " << endl;

cout << " 5 Untuk Meter ke Centimeter " << endl;

cout << " 6 Untuk Meter ke Milimeter " << endl;

cout<< endl;

cout << " Pilih Konversi :";

cin>>pil;

switch (pil) {

case 1: kilometer (); break;

case 2: hektometer (); break;

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 9


Modul 3 : Fungsi
case 3: dekameter (); break;

case 4: desimeter (); break;

case 5: centimeter (); break;

case 6: milimeter (); break;

default: cout<<"Pilihan Tidak Tersedia !!"<<endl;

getch ();

return 0;

int main () {

do {

menu ();

cout<<"Apakah Anda ingin memilih lagi (Y/T) : ";

cin>>y;

system("cls");

}while (y=='y' || y=='Y');

cout<<"Terima Kasih !!";

getch ();

return 0;

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 10


Modul 3 : Fungsi

Output Program:

1. Awal program di jalankan

2. Apabila kita memilih pilihan 1 (Meter ke Kilometer), program berjalan seperti


dibawah ini,

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 11


Modul 3 : Fungsi

3. Apabila kita memilih pilihan 2 (Meter ke Hektometer), program berjalan seperti


dibawah ini,

4. Apabila kita memilih pilihan 3 (Meter ke Dekameter), program berjalan seperti


dibawah ini,

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 12


Modul 3 : Fungsi

5. Apabila kita memilih pilihan 4 (Meter ke Desimeter), program berjalan seperti


dibawah ini,

6. Apabila kita memilih pilihan 4 (Meter ke Desimeter), program berjalan seperti


dibawah ini

7. Apabila kita memilih pilihan 4 (Meter ke Desimeter), program berjalan seperti


dibawah ini,

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 13


Modul 3 : Fungsi

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 14


Modul 3 : Fungsi

D. Analisa Data

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

Script di atas yang di awali dengan tanda # adalah Preprocessore Directive


(pengarah kompiler). Dapat kita definisikan library (pustaka) apa saja yang akan
kita gunakan di dalam program. Bukan merupakan baris kode yang akan digunakan
untuk membaca file header atau bisa dikatakan sebagai pengatur proses kompilasi.
Script di atas merupakan header file program yang mendeklarasi statement.
Headernya terdiri dari #include <iostream>, #include <conio.h>, #include <stdio.h>

using namespace std;

Penulisan ini dilakukan untuk penulisan kode langsung tanpa penulisan scope
std::, karena iostream C++ melakukan penyatuan terhadap semua input dan output.
Ini sangat penting ditulis pada pemrograman Bahasa C++. Apabila kita tidak
menggunakan using namespace std;, maka untuk menggunakan fungsi cin dan cout
yang ada pada iostream harus diawali dengan scope std::.

float x;
int pil;
char y;

Script di atas merupakan bagian deklarasi. Deklarasi merupakan sebagai tempat


untuk mengenalkan variabel apa saja yang digunakan dan tipe datanya. Pada script
diatas terdapat variabel x; yang menggunakan tipe data float. Variabel pil; yang
menggunakan tipe data int, dan variable y; yang menggunakan tipe data char.

int kilometer () {
cout<<endl<<endl;
cout<<"===Konversi meter ke kilometer==="<<endl;
cout<< " Masukan satuan Panjang (m) : "; cin>>x;
cout<< " => " << x << " m = " <<(x/1000) << " km " << endl;
}

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 15


Modul 3 : Fungsi

Script diatas merupakan pembuatan fungsi kilometer (), yang digunakan untuk
melakukan konversi dari satuan meter ke satuan kilometer

int hektometer () {
cout<<endl<<endl;
cout<<"===Konversi Meter ke Hektometer=="<<endl;
cout<< " Masukan satuan panjang (M) : "; cin >> x;
cout<< " => " << x << " m = " <<(x/100) << " Hm "<< endl;
}

Script diatas merupakan pembuatan fungsi hektometer (), yang digunakan untuk
melakukan konversi dari satuan meter ke satuan hektometer

int dekameter () {
cout<<endl<<endl;
cout<<"===Konversi Meter ke Dekameter=="<<endl;
cout<< " Masukan satuan panjang (M) : "; cin >> x;
cout<< " => " << x << " m = " <<(x/10) << " Dam "<< endl;
}

Script diatas merupakan pembuatan fungsi dekameter (), yang digunakan untuk
melakukan konversi dari satuan meter ke satuan dekameter

int desimeter () {
cout<<endl<<endl;
cout<<"===Konversi Meter ke Desimeter=="<<endl;
cout<< " Masukan satuan panjang (M) : "; cin >> x;
cout<< " => " << x << " m = " <<(x*10) << " Dm "<< endl;
}

Script diatas merupakan pembuatan fungsi desimeter (), yang digunakan untuk
melakukan konversi dari satuan meter ke satuan desimeter

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 16


Modul 3 : Fungsi

int centimeter () {
cout<<endl<<endl;
cout<<"===Konversi Meter ke Centimeter=="<<endl;
cout<< " Masukan satuan panjang (M) : "; cin >> x;
cout<< " => " << x << " m = " <<(x*100) << " Cm "<< endl;
}

Script diatas merupakan pembuatan fungsi centimeter (), yang digunakan untuk
melakukan konversi dari satuan meter ke satuan centimeter

int miliimeter () {
cout<<endl<<endl;
cout<<"===Konversi Meter ke Milimeter=="<<endl;
cout<< " Masukan satuan panjang (M) : "; cin >> x;
cout<< " => " << x << " m = " <<(x*1000) << " Mm "<< endl;
}

Script diatas merupakan pembuatan fungsi milimeter (), yang digunakan untuk
melakukan konversi dari satuan meter ke satuan milimeter

int main ()
{
statement
}

int main (), merupakan bagian dari pendeklarasian fungsi utama. Fungsi utama
merupakan bagian yang pertama kali dieksekusi. Fungsi utama ini berisi kode-kode
atau statement yang akan digunakan untuk menyelesaikan masalah tertentu. Fungsi
utama ini diawali dengan tanda kurung kurawal buka { dan diakhiri dengan tanda
kurung karawal tutup }, yang di mana pada disela-sela tanda tersebut berisikan
kode-kode atau statement dieksekusi dan merupakan bagian tubuh dari tugas
fungsi.

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 17


Modul 3 : Fungsi

cout << "===================================" << endl;


cout << "--Program konversi satuan panjang--" << endl;
cout << "===================================" << endl;
cout << " 1 Untuk Meter ke Kilometer " << endl;
cout << " 2 Untuk Meter ke Hektometer " << endl;
cout << " 3 Untuk Meter ke Dekameter " << endl;
cout << " 4 Untuk Meter ke Desimeter " << endl;
cout << " 5 Untuk Meter ke Centimeter " << endl;
cout << " 6 Untuk Meter ke Milimeter " << endl;
cout << endl;
cout << " Pilih Konversi :";
cin>>pil;

Pada script diatas menampilkan pilihan menu, ada 6 menu yang bisa dipilih,
yaitu untuk meter ke kilometer, untuk meter ke hektometer, untuk meter ke
dekameter, untuk meter ke desimeter, untuk meter ke centimeter, dan untuk meter
ke milimeter.

switch (pil) {
case 1: kilometer (); break;
case 2: hektometer (); break;
case 3: dekameter (); break;
case 4: desimeter (); break;
case 5: centimeter (); break;
case 6: milimeter (); break;
default: cout<<"Pilihan Tudak Tersdia !!"<<endl;
}
getch ();
return 0;
}
int main () {
do{
menu ();
cout<<"Apakah Anda ingin memilih lagi (Y/T) : ";
cin>>y;
system("cls";)

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 18


Modul 3 : Fungsi
}
while (y=='y' || y=='Y');
cout<<"Terima Kasih !!";
getch ();
}

Pada script diatas terdapat perintah switch (pilih), digunakan untuk menyeleksi
menu yang dipilih, untuk ditampilkan pada ouput. Terdapat 6 case yang diseleksi
yaitu, case pertama untuk menjalankan fungsi kilometer, case kedua untuk
menjalankan fungsi hektometer, case ketiga untuk menjalankan fungsi dekameter,
case keempat untuk menjalankan fungsi desimeter, case kelima untuk menjalankan
fungsi centimeter, dan case keenam untuk menjalankan fungsi milimeter. Perintah
break, digunakan umtuk berhenti pasa suatu case. Perintah do while berfungsi
untuk membuat perulangan memilih konversi yang akan digunakan. Perintah
system (“cls”), untuk membersihkan layar output, sebelum melanjutkan ke output
selanjutnya.

return 0;

Pada C++, return 0 dalam main() menyatakan bahwa program berakhir dengan
normal.

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 19


Modul 3 : Fungsi

E. Kesimpulan
1. Fungsi adalah kumpulan pernyataan yang melakukan tugas tertentu. Keunggulan
menggunakan fungsi adalah untuk memecah program ke dalam sebuah program
yang lebih kecil sehingga mudah dikelola. Selain itu, fungsi juga dipergunakan
untuk menyederhanakan program. Suatu fungsi memiliki nama, daftar
parameter, body, dan return type.Bentuk umum penulisan fungsi adalah

tipedata nama_fungsi(DaftarParameter){
/*Badan Fungsi*/
Return nilaireturn;
}

2. Pemrogram procedural adalah suatu teknik pemrograman dimana program yang


biasanya cukup besar dibagi-bagi menjadi beberapa bagian program yang lebih
kecil. pemrograman procedural didasarkan pada konsep membagi program
menjadi beberapa subprogram dan satu program utama yang berfungsi sebagai
koordinator modul dan memperlakukan data sebagai parameter.

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 20


Modul 3 : Fungsi

DAFTAR PUSTAKA

Anonim.2021.”Modul Praktikum Algoritma dan Pemrograman “, Laboratorium System


Control And Informasi Fakultas Teknik Universitas Mataram.

Eka Fitri Yani. 2012. “Fungsi Dalam Bahasa C”. Universitas Gunadarma.

Fajar. Pengertian Parameter.++. Di akses tanggal 20 april 2021 Pukul 20.00.


https://www.belajarcpp.com/tutorial/cpp/parameter/

Prio Handoko. 2019. “Dasar Dasar Pemrograman”. Universitas Pembangunan Jaya.

Praktikum Algoritma dan Pemrograman 2021Modul 3 - 21

Anda mungkin juga menyukai