• Tidak ada hasil yang ditemukan

Modul III Fungsi dalam bahasa C

N/A
N/A
Protected

Academic year: 2018

Membagikan "Modul III Fungsi dalam bahasa C"

Copied!
23
0
0

Teks penuh

(1)

MODUL 3

FUNGSI

A. Tujuan

1. Mahasiswa mengenal function dalam bahasa C / C++.

2. Mahasiswa bisa membuat program procedural dengan bahasa C / C++.

B. Dasar Teori

Fungsi

Pada pemrograman C++ selalu terdapat sebuah fungsi utama atau

sub-program yakni “

void main()

”. Penamaan modul memiliki karakteristik yang

sama dengan penamaan variabel dengan fungsi program akan menjadi lebih

efisien dan fleksibel. Fungsi adalah suatu blok kode yang melakukan tugas

tertentu atau suatu blok instruksi yang dieksekusi ketika dipanggil dari bagian lain

dalam suatu program.

Pada umumnya fungsi memerlukan masukan yang dinamakan argument

atau parameter. Hasil akhir dari fungsi akan berupa sebuah nilai.

Berikut bagan konsep sebuah fungsi :

Gambar 3.1 Bagan konsep sebuah fungsi

Berikut source code dari suatu fungsi :

Penentuan_tipe nama_fungsi (daftar parameter) Deklarasi parameter {

Isi fungsi }

Fungsi main()

Fungsi a() Fungsi b() Fungsi c()

Fungsi

(2)

saja. Khusus untuk fungsi yang disediakan di system, definisinya sebenarnya ada dalam

pustaka, yang akan digabungkan dengan program sewaktu proses linking.

Deklarasi Fungsi

Deklarasi fungsi atau sering disebut dengan prototype fungsi dimaksudkan untuk

mendeklarasikan fungsi agar dapat dipanggil. Deklarasi fungsi berupa :

1)

Tipe nilai balik.

2)

Nama fungsi.

3)

Jumlah dan tipe argument.

Dan diakhiri dengan titik koma, sebagaimana pendeklarasian variabel.

Sebagai contoh :

long kuadrat(long);

Pada contoh ini fungsi “kuadrat()” mempunyai argument bertipe long dan nilai

balik bertipe long.

int maks(int a,intb);

Pada contoh ini fungsi “maks()” mempunyai dua argument bertipe integer

dan nilai balik bertipe integer juga.

void garis();

Pada contoh ini fungsi “garis()” tidak memiliki argument dan nilai baliknya

tidak ada (“

void

”).

Penggolongan Variabel

Variabel lokal atau Local variable adalah sebuah variabel sederhana yang

dideklarasikan di dalam sebuah blok program. Ini bisa diakses hanya dari dalam blok

itu sendiri. Karena bagian dari fungsi itu sendiri adalah blok, variabel dideklarasikan

ke dalam sebuah fungsi yang local di fungsi itu. Mereka ada hanya ketika fungsi itu

sedang dieksekusi. Sebuah formal parameter (argument) dari fungsi akan menjadi

lokal di fungsi itu. Variabel global memiliki ruang lingkup sepanjang semua program

dijalankan maka variabel global akan tetap dikenali dimanapun bagian atau blok

dalam bagian kode program dijalankan.

Contoh :

(3)

int factorial() {

if (n < 0) return 0; f = 1;

while (n > 1) f *= n--; return f;

Parameter

Parameter fungsi digunakan untuk mengirimkan parameter (nilai) ke suatu fungsi.

Parameter berbeda dengan argumen. Parameter digunakan untuk memasukkan

input

pada sebuah tubuh fungsi yang ditulis di luar fungsi main , sedangkan argumen

merupakan masukan pada sebuah fungsi ketika fungsi tersebut dipanggil pada sebuah

fungsi main. Parameter fungsi harus bertipe data tertentu.

[1]

Terdapat 2 jenis parameter,

yaitu:

1. Parameter formal: Parameter yang ditulis pada deklarasi fungsi.

2. Parameter aktual: Parameter yang dimasukkan dalam program pemanggil fungsi

tersebut, sering disebut dengan argumen.

Pengiriman parameter ke suatu fungsi dapat dilakukan dengan dua cara, yaitu

pengiriman secara nilai (by value) dan pengiriman secara acuan (by reference).

1. Pengiriman Parameter Secara Nilai (By Value)

Pengiriman parameter secara nilai mempunyai karakteristik sebagai berikut:

Nilai parameter yang dikirim ke fungsi tidak mempengaruhi nilai parameter pada

bagian program yang memanggil fungsi tersebut.

Pengiriman parameter secara nilai adalah pengiriman searah, yaitu dari bagian

program yang memanggil fungsi ke fungsi yang dipanggil.

Pengiriman parameter secara nilai dapat dilakukan untuk suatu ungkapan,

variabel, elemen array atau konstanta.

2. Pengiriman Parameter Secara Acuan (by reference)

(4)

bagian program yang memanggil fungsi tersebut.

b) Pengiriman parameter secara nilai adalah pengiriman searah, yaitu dari bagian

program yang memanggil fungsi ke fungsi yang dipanggil.

c) Pengiriman parameter secara nilai dapat dilakukan untuk suatu ungkapan, variabel,

elemen array atau konstanta.

Fungsi tanpa nilai balik

Fungsi tanpa nilai balik adalah fungsi yang dimana untuk menampilkan

suatu keterangan saja. Penggunaan fungsi tanpa nilai balik salah satunya

menggunakan void.

Fungsi dengan nilai balik

Fungsi dengan tanda balik adalah suatu fungsi yang dapat

mengembalikan suatu nilai ke dalam fungsi utama. Dalam membuat fungsi,

harus didefinisikan tipe data dari nilai yang akan dikembalikan.

Contoh Program Fungsi pada C++ :

// Menampilkan pesan #include <iostream> #include <conio> void printmessage () {

cout << "I'm a function!"; }

void main () {

printmessage (); getch();

}

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

int addition (int a, int b){ int r;

r=a+b; return (r); }

(5)

{

int z;

z = addition (5,3);

cout << "The result is " << z; getch();

(6)

C. Permasalahan

Buatlah dengan metode fungsi yaitu

1. Luas Segitiga

(7)

Flowchart :

Source Code :

#include <iostream.h>

cout<<"Masukkan nilai alas : "; cin>>al;

cout<<"Masukkan nilai tinggi : "; cin>>ti;

lse=al*ti/2;

cout<<"Luas segitiga : "<<lse; cout<<endl;

cout<<"Masukkan nilai panjang : "; cin>>pa;

cout<<"Masukkan nilai lebar : "; cin>>le;

cout<<"Masukkan nilai tinggi : "; cin>>ti;

vb=pa*le*ti;

cout<<"Volume Balok : "<<vb; cout<<endl;

cout<<"\tLuas Persegi\n";

cout<<"Masukkan nilai sisi : "; cin>>si;

lp=si*si;

cout<<"Luas Persegi : "<<lp; cout<<endl;

cout<<"============================\n"; cout<<endl;

(8)

void layang() {

cout<<"\tLuas Layang-layang\n";

cout<<"Masukkan nilai diagonal 1 : "; cin>>d1;

cout<<"Masukkan nilai diagonal 2 : "; cin>>d2;

ll=d1*d2/2;

cout<<"Luas Layang-layang : "<<ll; cout<<endl;

cout<<"=========================\n"; cout<<"\tMenu Pilihan\n\n";

cout<<"1. Luas Segitiga\n"; cout<<"2. Volume balok\n"; cout<<"3. Luas Persegi\n";

cout<<"4. Luas Layang-layang\n\n"; cout<<"=========================\n"; cin>>pilih;

clrscr();

cout<<"============================\n"; cout<<"\|\tPilihan Anda |\n"; cout<<"============================\n"; switch(pilih)

{

case'1': segitiga();

cout<<"Anda ingin Mengulang![y/n] "; cin>>y;

break; case'2': balok();

cout<<"Anda ingin Mengulang![y/n] "; cin>>y;

break; case'3': persegi();

cout<<"Anda ingin Mengulang![y/n] "; cin>>y;

(9)

cout<<"Anda ingin Mengulang![y/n] "; cin>>y;

break; default:

cout<<"Pilihan tidak ada\n";

cout<<"Anda ingin Mengulang![y/n]"; cin>>y;

cin>>n>>"silahkan exit program"; clrscr();

} }

while(y=='y'||y=='Y'||n=='n'||n=='N'); cout<<"Silahkan exit program !!!\n\n"; system("pause");

}

(10)
(11)
(12)
(13)

D. Analisa Data

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

Script program diatas merupakan bagian header yakin berperan sebagai

library dari statement yang ada di dalam program, supaya statement yang digunakan

pada program dapat di kenal.

#include <iostream.h>

merupakan file header program yang

mendeklarasikan satement

“cout”

dan

“cin”

yakni statement yang

bertugas sebagai statement input output (I/O) pada program.

#include <stdlib.h>

merupakan file header yang berfungsi untuk

operasi pembanding dan operasi konversi.

#include <conio.h>

merupakan file header yang berfungsi untuk

menampilkan hasil antarmuka kepada pengguna.

2

. void segitiga()void balok() void persegi() void layang() void main()

Script program diatas merupakan bagian dari pendeklarasian fungs-fungsi

yang akan di gunakan dalam dalam program.

void main()

Script di atas merupakan bagian dari pendeklarasian fungsi utama.

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 kurawal

tutup “ } ”, yang dimana pada disela-sela tanda tersebut berisikan

kode-kode atau statement yang akan dieksekusi dan merupakan bagian tubuh

dari fungsi utama.

 void segitiga()

Merupakan script pendeklarasian sebuah fungsi yang bernama fungsi

segitiga. Cara penulisan dan cara kerja fungsi ini sama dengan fungsi

utama di atas.

(14)

fungsi balok. Cara penulisan dan cara kerja fungsi ini sama dengan

fungsi utama di atas.

 void persegi()

Merupakan script pendeklarasian sebuah fungsi yang bernama

fungsi persegi. Cara penulisan dan cara kerja fungsi ini sama dengan

fungsi utama di atas.

 void layang()

Merupakan script pendeklarasian sebuah fungsi yang bernama

fungsi layang dan bertipe

float

. cara penulisan dan cara kerja fungsi

ini sama dengan fungsi utama di atas..

3

. int al, ti, lp, pa, le,vb, lse, si, ll, d1,d2; char pilih; char y;

char n;

Script program diatas merupakan bagian dari pendeklarasian variable yang

bertipe

int

dan

char

yang dapat di gunakan pada seluruh bagian program.

4

. switch(pilih){case'1':segitiga();break; case'2':balok();break; case'3':persegi();break; case'4':layang();break;

default:cout<<"Pilihan tidak ada\n";}

Script program diatas merupakan instruksi yang digunakan untuk memilih

fungsi yang akan di tuju. Saat

pilih

bernilai 1 maka program akan menunjuk fungsi

yang bernama segitiga, saat

pilih

bernilai 2 maka program akan menunjuk fungsi

yang bernama balok,dan begitu seterusnya sampai sampai nilai

masuk

tidak terdapat

dalam

case

maka akan langsung mengeksekusi statement pada bagian

default

.

5

(15)

dan menuju ke menu pilihan, dan jika menekan huruf “ n “ pada

keyboard maka

muncul notifikasi untuk menutup program.

6

. cout<<"\tMenu Pilihan\n\n"; cout<<"1. Luas Segitiga\n"; cout<<"2. Volume balok\n"; cout<<"3. Luas Persegi\n";

cout<<"4. Luas Layang-layang\n\n"; cin>>pilih;

Perintah “

cout

“ di atas merupakan perintah yang digunakan untuk

menampilkan masukkan pada layar,

sedangkan

perintah “

cin

“ merupakan perintah

yang digunakan untuk memberi masukkan variable dari keyboard, yang akan di

tampilkan pada layar.

7

. system("pause");getch();

Fungsi “

system("pause")

” dalam program ini adalah untuk menghentikan

program untuk sementara dan menampilkan pesan “ Press any to continue … ”.

Fungsi

” getch()”

dalam program ini adalah untuk menahan tampilan layar saat

(16)

1.

Fungsi adalah suatu blok kode yang melakukan tugas tertentu atau suatu blok

instruksi yang dieksekusi ketika dipanggil dari bagian lain dalam suatu program.

2.

Fungsi dapat memisahkan langkah-langkah dari satu atau lebih fungsi, maka

fungsi utama menjadi lebih pendek, jelas dan mudah dimengerti. Fungsi harus

memiliki nama dan parameter sebagai pembeda antara fungsi yang satu dengan

fungsi yang lain.

3.

Program procedural merupakan program yang terstruktur dengan rapi. Terdapat

dua cara dalam penulisan fungsi, yang pertama kita menuliskan fungsi di atas

fungsi utama(“

main

”). Yang kedua kita menuliskan fungsi dibawah fungsi

utama(“

main

”), namun harus dikenalkan dulu di awal program menggunakan

prototype atau menggunakan deklarasi global dari fungsi tersebut agar fungsi

tersebut dapat dikenali oleh fungsi utama (“

main

”) dan bahkan dapat dikenali

se-tiap fungsi.

4.

Dalam fungsi utama dapat digunakan proses perulangan maupun control untuk

mengenali fungsi dinamis yang banyak.

(17)

Tugas Pendahuluan

1. Buatlah sebuah program biodata mahasiswa dgn menggunakan "fungsi" dan ketentuan

in-putannya sbb:

cout<<"Halbat Akmaral Aziad"<<endl; } void ttl ()

{

cout<<"Sakra, 30 Agustus 1996"<<endl; } void univ ()

{

cout<<"Universitas Mataram"<<endl; } void fpro ()

{

cout<<"Teknik/Teknik Elektro"<<endl; } void smt () cout<<"Tempat, tanggal lahir : ";ttl (); cout<<"Universitas : ";univ (); cout<<"Fakultas/Prodi : ";fpro (); cout<<"Semester : ";smt (); getch ();

}

(18)

Buatlah program function untuk menampilkan macam-macam pekerjaan.

Source code :

#include <iostream.h> #include <conio.h> #include <stdlib.h> void polisi()

{

cout<<"1. Memelihara keamanan dan ketertiban masyarakat\n"; cout<<"2. Menegakkan hukum\n";

cout<<"3. Memberikan perlindunga, pengayoman, dan pelayanan kepada masyarakat\n";

cout<<endl; }

void pedagang() {

cout<<"Menjual barang / kebutuhan masyarakat"; cout<<endl;

}

void nelayan() {

cout<<"Menangkap dan menjual ikan"; cout<<endl;

}

void dokter() {

cout<<"1. Memeriksa Pasien\n"; cout<<"2. Memberi resep obat\n"; cout<<endl;

}

void pilot() {

cout<<"1. Menerbangkan pesawat\n";

cout<<"2. Menjaga keselamatan para penumpang\n"; cout<<endl;

}

void pramugari() {

cout<<"1. Memberi pengarahan kepada penumpang\n"; cout<<"2. Melayani para penumpang\n";

cout<<endl; }

void peragawan() {

cout<<"Memamerkan baju hasil rancangan desainer di atas pang-gung";

(19)

void sekretaris() {

cout<<"1. Membantu pemimpin perusahaan dalam melaksanakan tu-gas\n";

cout<<"2. Mengatur jadwal pertemuan\n"; cout<<"3. Memberikan ide-ide\n";

cout<<"dan lain-lain\n"; cout<<endl;

}

void eva() {

cout<<"Membuat es krim"; cout<<endl;

cout<<"=========================\n"; cout<<"\tMenu Pekerjaan\n\n";

cout<<"1. Polisi\n"; cout<<"2. Pedagang\n"; cout<<"3. Nelayan\n"; cout<<"4. Dokter\n"; cout<<"5. Pilot\n"; cout<<"6. Pramugari\n"; cout<<"7. Peragawan\n"; cout<<"8. Sektretaris\n"; cout<<"9. Eva\n";

cout<<"10. Albat\n"; cout<<"11. Akbar\n";

cout<<"=========================\n"; cin>>pilih;

clrscr();

cout<<"========================================\n"; cout<<"\|\t\tPilihan Anda |\n";

(20)

case'1': polisi();

cout<<"Anda ingin Mengulang![y/n] "; cin>>y;

break; case'2': pedagang();

cout<<"Anda ingin Mengulang![y/n] "; cin>>y;

break; case'3': nelayan();

cout<<"Anda ingin Mengulang![y/n] "; cin>>y;

break; case'4': dokter();

cout<<"Anda ingin Mengulang![y/n] "; cin>>y;

break; case'5': pilot();

cout<<"Anda ingin Mengulang![y/n] "; cin>>y;

break; case'6': pramugari();

cout<<"Anda ingin Mengulang![y/n] "; cin>>y;

break; case'7': peragawan();

cout<<"Anda ingin Mengulang![y/n] "; cin>>y;

break; case'8': sekretaris();

cout<<"Anda ingin Mengulang![y/n] "; cin>>y;

break; case'9': eva();

cout<<"Anda ingin Mengulang![y/n] "; cin>>y;

break; case'10': albat();

cout<<"Anda ingin Mengulang![y/n] "; cin>>y;

break; case'11': akbar();

cout<<"Anda ingin Mengulang![y/n] "; cin>>y;

(21)

break; default:

cout<<"Pilihan tidak ada\n";

cout<<"Anda ingin Mengulang![y/n]"; cin>>y;

cin>>n>>"silahkan exit program"; clrscr();

} }

while(y=='y'||y=='Y'||n=='n'||n=='N'); cout<<"Silahkan exit program !!!\n\n"; system("pause");

}

getch();

(22)

DAFTAR PUSTAKA

[1]Anonim.2016.Modul Praktikum Algoritma dan Pemrograman.Laboratorium Informatika

Fakultas Teknik Jurusan Teknik Elektro UNIVERSITAS MATARAM

[2]Senja.Awan.PENGENALAN BAHASA C++.13 mei 2016

http://penesenja.blogspot.co.id/2014/05/pengenalan-bahasa-c.html

[3]Senja.Awan.Fungsi dalam C++.13 mei 2016

http://penesenja.blogspot.co.id/2014/05/pengenalan-bahasa-c.html

[4]Rifansyah, Gandi.FUNGSI/FUNCTION.13 mei 2016.

http://gandirifansyah.blogspot.co.id/2013/05/fungsi-function.html

(23)

Gambar

Gambar 3.1 Bagan konsep sebuah fungsi

Referensi

Dokumen terkait

Hal ini sesuai dengan pendapat Ariati (2012) menyatakan bahwa tekstur kalus yang kompak merupakan efek dari auksin dan sitokinin yang tinggi sehingga

Untuk daerah Jakarta dan sekitarnya sudah pasti sudah bisa mencicipi kehebatan modem bolt tersebut, karena Harga Modem Bolt yang sangat murah ditambah berbagai paketan data yang

Jadi pada umumnya jawaban responden tentang sikap orang tua terhadap perilaku pornografi anaknya di SMP Negeri 30 Pekanbaru di tinjau dari aspek kognitif, afektif dan

Penelitian ini bertujuan untuk mengetahui waktu optimum, konsentrasi tiourea optimum dan rendemen pengendapan yang diperoleh pada hasil proses

Algortima Particle Swarm Optimization- Demster Shafer dapat diimplementasikan pada diagnosa indikasi penyakit ikan gurami yang memberikan pengetahuan berdasarkan

Kesimpulan dalam penelitian ini motif para pengguna tv berlangganan Aora Tv Satelit di Surabaya adalah motif kebutuhan individu ( Individu’s need) yang berdasar

Ekonomi Jambi telah mampu tumbuh secara berkualitas, yang ditopang dengan peningkatan investasi dalam dan luar negeri, belanja Pemerintah Pusat dan Pemerintah

Pengembangan pendidikan karakter mengupayakan agar individu-individu memiliki karakter, yakni olah hati, olah pikir, olah raga, olah rasa dan karsa. Olah hati berkenaan dengan