• Tidak ada hasil yang ditemukan

Dokumen - PROGSIS20142 - STMIK EL RAHMA 4 fungsi

N/A
N/A
Protected

Academic year: 2017

Membagikan "Dokumen - PROGSIS20142 - STMIK EL RAHMA 4 fungsi"

Copied!
10
0
0

Teks penuh

(1)

Bab 4

(2)

Mengenal Fungsi

Fungsi merupakan blok program yang dirancang untuk melaksanakan tugas tertentu. Beberapa keguaan fungsi antara lain :

Untuk mengurangi pengulangan program yang sama

agar program menjadi terstruktur, rapi dan lebih mudah dikembangkan.

Struktur Fungsi

sebuah fungsi sederhana mempunyai bentuk penulisan sebagai berikut:

return_type nama_fungsi(parameter) { pernyataan

}

Keterangan:

return_type adalah nilai balik saat fungsi dipanggil

nama_fungsi, biasanya disesuaikan dengan kegunaan dari fungsi, namun boleh ditulis secara bebas dengan ketentuan tidak menggunakan spasi dan nama-nama fungsi yang memiliki arti sendiri.

parameter/argumen, diletakan di antara tanda kurung setelah nama fungsi, argumen digunakan sebagai nilai masukan untuk fungsi dan dapat dibuat lebih dari satu atau tidak sama sekali.

Untuk memanggil fungsi, gunakan nama fungsi dan definisi argumen jika dibutuhkan.

perhatikan contoh berikut:

Contoh 1:

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

void hello() {

cout << "Hello Everyone\n"; }

void main() { hello(); hello();

(3)

Output:

Hello Everyone Hello Everyone

Fungsi dengan Parameter

Parameter adalah nilai yang dapat kita masukkan ke dalam sebuah fungsi. Kita dapat mendefinisikan jumlah parameter berapapun sesuai dengan kebutuhan.

Terdapat dua macam parameter, yaitu:

parameter formal, yaitu variabel yang terdapat dalam definisi fungsi.

parameter aktual, yaitu variabel atau nilai yang digunakan saat pemanggilan suatu fungsi.

Perhatikan contoh berikut:

Contoh 2:

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

void tambah(int a, int b) { cout << a + b << endl; }

void main() {

tambah(10, 12); tambah(100, 200);

getch(); }

Output:

22 300

Protipe Fungsi

prototipe fungsi digunakan untuk mendeklarasikan ke kompiler mengenai:

Nilai balik dari fungsi

Jumlah parameter yang digunakan fungsi

(4)

Contoh 3:

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

//definisi prototipe

void tambah(int a, int b); void kurang(int a, int b);

void main() {

Nilai bawaan parameter

(5)

getch(); }

void hello(int jum) {

for (int i = 0; i < jum; i ++) {

Melewatkan parameter dengan nilai (pass by value)

Secara default argumen yang kita definisikan dalam fungsi bersifat pass by value, yang berarti akan dilewatkan ke dalam fungsi dan tidak akan mengalami perubahan setelah fungsi dijalankan. Perhatikan contoh berikut:

Contoh 5:

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

void perkalian(int a, int b, int c);

void main() {

int a = 10, b = 30, c = 0;

cout << "\nNilai c SEBELUM fungsi perkalian dipanggil : " << c; perkalian(a, b, c);

cout << "\nNilai c SETELAH fungsi perkalian dipanggil : " << c;

Nilai c SEBELUM fungsi perkalian dipanggil : 0 Nilai c DALAM fungsi perkalian 300

(6)

Melewatkan parameter dengaan rerefensi (pass by reference)

Berbeda dengan pass by value yang tidak akan mempengaruhi nilai parameter setelah fungsi dijalankan, pass by reference akan mempengaruhi nilai setelah fungsi dijalankan. Untuk melewatkan parameter dengan referensi, tambahkan karakter ampersand ('&') di depan nama parameter. berikut adalah contoh sebelumnya yang telah diubah menjadi pass by reference:

Contoh 6:

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

void perkalian(int a, int b, int &c);

void main() {

int a = 10, b = 30, c = 0;

cout << "\nNilai c SEBELUM fungsi perkalian dipanggil : " << c; perkalian(a, b, c);

cout << "\nNilai c SETELAH fungsi perkalian dipanggil : " << c;

getch(); }

void perkalian(int a, int b, int &c) { c = a * b;

cout << "\nNilai c DALAM fungsi perkalian " << c; }

Output:

Nilai c SEBELUM fungsi perkalian dipanggil : 0 Nilai c DALAM fungsi perkalian 300

Nilai c SETELAH fungsi perkalian dipanggil : 300

Fungsi yang mengembalikan nilai

Pada saat kita membuat fungsi, sering kali kita ingin agar ketika fungsi dipanggil akan melakukan proses dan mengembalikan nilai tertentu. kita bisa menggunakan keyword return dalam fungsi untuk mengembalikan nilai ketika fungsi tersebut dipanggil. sebagai contoh, perhatikan script berikut:

Contoh 7:

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

int tambahkan(int a, int b); long kuadrat(long a);

(7)

c = 0;

a = kuadrat(a); b = kuadrat(b); c = tambahkan(a, b);

cout << "nilai c sekarang = " << c; getch();

}

int tambahkan(int a, int b) { return a + b;

}

long kuadrat(long a) { return a * a; }

Output:

nilai c sekarang = 1000

Lingkup Variabel

Lingkup variabel menentukan keberadaan suatu variabel tertentu dalam fungsi. Ada variabel yang hanya dikenal di suatu fungsi dan tidak dikenal pada fungsi lain. Namun ada juga variabel yang dapat diakses oleh semua fungsi.

Variabel Lokal

variabel lokal adalah variabel yang dideklarasikan di dalam fungsi dan hanya dikenali dalam fungsi yang bersangkutan. Variabel lokal bisa juga disebut dengan variabel otomatis. Perhatikan contoh berikut:

Contoh 8:

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

void lokal();

void main() { int a = 25;

cout << "\nNilai a dalam fungsi main = " << a;

lokal();

(8)

}

void lokal() { int a=70;

cout << "\nNilai a dalam fungsi lokal = " << a; }

Output:

Nilai a dalam fungsi main = 25 Nilai a dalam fungsi lokal = 70 Nilai a dalam fungsi main = 25

variabel eksternal

Variabel eksternal adalah variabel yang dideklarasikan di luar fungsi dan bersifat global sehingga dapat digunakan bersama-sama tanpa harus dideklarasian berulang-ulang. perhatikan contoh berikut:

Contoh 9:

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

int a = 77;

void lokal();

void main() { a = 25;

cout << "\nNilai a dalam fungsi main = " << a;

lokal();

cout << "\nNilai a dalam fungsi main = " << a; getch();

}

void lokal() { a+=7;

cout << "\nNilai a dalam fungsi lokal = " << a; }

Output:

(9)

Variabel Statis

Variabel statis dapat berupa variabel lokal ataupun variabel eksternal. variabel statis ini mempunyai sifat antara lain:

jika variabel statis bersifat lokal, maka variabel hanya dikenal oleh fungsi dimana variabel dideklarasikan.

jika variabel statis bersifat eksternal, maka variabel dapat dipergunakan oleh semua fungsi yang terletak pada file yang sama.

jika nilai variabel statis tidak diberikan, secara otomatis akan diberikan nilai nol.

Contoh 10:

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

void saya_ingat();

void main(){

int mana = 50;

clrscr(); saya_ingat(); saya_ingat(); saya_ingat();

cout << " main() : mana = " << mana << endl;

getch(); }

void saya_ingat() {

static int mana = 77; mana ++;

cout << " Saya_ingat () : mana = " << mana << endl; }

Output:

(10)

Overloading Function

Fungsi overloading berarti mendefinisikan beberapa fungsi dengan nama yang sama tetapi dengan parameter yang berbeda.

Contoh 11:

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

int kuadrat(int angka); long kuadrat(long angka); float kuadrat(float angka);

void main() { int a = 200; float b = 50.56; long c = 120;

cout << a << " dikuadratkan menjadi " << kuadrat(a) << endl; cout << b << " dikuadratkan menjadi " << kuadrat(b) << endl; cout << c << " dikuadratkan menjadi " << kuadrat(c) << endl;

getch(); }

int kuadrat(int angka){ return (angka * angka); }

long kuadrat(long angka) { return (angka * angka); }

float kuadrat(float angka) { return (angka * angka); }

Output:

Referensi

Dokumen terkait

Akan tetapi dengan modal pengetahuan tentang cara pembuatan kartu yang beliau dapat selama bekerja, akhirnya beliau memutuskan untuk keluar dari tempat kerja itu dan ingin membuka

Kegiatan pembelajaran remedial dengan pemanfaatan tutor sebayamelalui belajar kelompok untuk menjawab pertanyaan yang diberikan guru terkait materi kondisi geologi

Dalam usaha untuk memanfaatkan abu terbang yang dihasilkan dari pembakaran batubara di PLTU unit II Suralaya menjadi sebagai bahan baku dalam pembuatan refraktori cor,

Ada pun Ke-15 RUU tersebut adalah tentang Pembentukan Kabupaten Nias Utara, Kabupaten Nias Barat, Kota Gunungsitoli, dan Kota Berastagi (Provinsi Sumatera Utara); Kabupaten

Pengadilan HAM dibentuk berdasarkan Undang-Undang Republik Indonesia Nomor 26 tahun 2000. Pengadilan HAM adalah pengadilan khusus terhadap pelanggaran HAM berat yang

Dari keempat penyebab tingkat kerusakan bangunan tersebut, ada dua hal yang bisa diupayakan untuk mengurangi jumlah korban akiba t gempa bumi yaitu meningkatkan

Penetapan mahar tersebut di laksanakan melalui musyawarah secara khusus di rumah calon istri yang di hadiri oleh pihak calon istri dan calon suami yang dianggap

Dalam program aksi pengembangan energi alternatif berbasis nyamplung untuk mencapai harapan sebagaimana dijelaskan pada Bab III, maka tahun 2010- 2014 akan dilakukan berbagai