Tuesday, July 9, 2019

Sub program dan Fungsi C++

Sub program dan Fungsi C++

Sub program dan Fungsi C++
Tuesday, July 9, 2019
Saat membuat sebuah program kita pasti memulai pada bagian main. Sebenarnya apakah main ini? Seperti yang sudah kita ketahui, C++ merupakan bahasa yang bersifat modular. Bahasa yang bersifat modular di dalamnya berisi fungsi-fungsi.


Sub program dan Fungsi


Fungsi adalah sebuah bagian yang di dalamnya terdapat instruksi yang dikerjakan oleh kompiler atau komputer. Dalam bahasa C++ sekurang-kurangnya terdapat satu fungsi yaitu fungsi main. Fungsi main akan dibaca oleh kompiler pertama kali.

Talent does what it can; genius does what it must. - Edward G. Bulwer-Lytton

Fungsi merupakan sub program. Fungsi menjadikan program lebih mudah dipahami dan dapat digunakan kembali. Fungsi dapat digunakan pada program itu sendiri dan pada program lain yang memiliki fungsi yang sama.

Dalam sebuah fungsi terdapat instruksi-instruksi yang dikemas dalam sebuah nama. Nama dari sebuah fungsi dapat dipanggil beberapa kali. Dengan cara ini dapat memudahkan programmer sehingga tidak perlu menuliskan instruksi yang sama.

Dengan menggunakan fungsi dapat lebih memudahkan dalam membuat program dan menghemat ukuran program.

Contoh sub program dan fungsi


#include <iostream>
using namespace std;
const int PI = 3.14159265;

double getArea(double radius);

int main(){
double radius1 = 1.1, area1, area2;
area1 = getArea(radius1);
cout << "area 1 is " << area1 << endl;
area2 = getArea(2.2);
cout << "area 2 is " << area2 << endl;
cout << "area 3 is " << getArea(3.3) << endl;
}

double getArea(double radius){
return radius * radius * PI;
}

 Fungsi main bekerja pertama kali. Pada contoh diatas fungsi memanggil sub program atau fungsi getArea yang memiliki kembalian double.

Pada saat program diatas dieksekusi program akan memiliki keluaran/ output seperti berikut ini:


Secara umum dapat kita simpulkan cara penggunaan fungsi sebagai berikut:

returnValueType functionName(parameterList) {
functionBody;
}

Keterangan:

  • returnValueType merupakan tipe variabel hasil yang akan dikembalikan. Jika fungsi tidak memiliki kembalian maka returnValueType nya void. Kembalian dapat berupa tipe data primitif (seperti integer, double, char, dsb), tipe data dengan Array, atau tipe data yang dibuat sendiri menggunakan class, dan struct.
  • functionName merupakan nama fungsi yang digunakan. Aturan pemberian nama fungsi sama persis dengan aturan pemberian nama variabel. Nama fungsi diawali dengan huruf (boleh besar atau kecil) dan tidak boleh menggunakan simbol-simbol kecuali underscore atau "_".
  • parameterList merupakan daftar variabel yang dilewatkan dan berguna dalam fungsi tersebut. Dalam satu fungsi parameter yang digunakan tidak harus ada dan bisa sebanyak yang dibutuhkan dengan dipisahkan dengan koma / ',' dalam fungsi. Parameter dapat berupa tipe data primitif (seperti integer, double, char, dsb), tipe data dengan Array, atau tipe data yang dibuat sendiri menggunakan class, dan struct.

Penggunaan parameter


Ada dua cara penggunaan parameter yang diberikan epada sebuah fungsi yaitu dengan pass by value, atau dengan pass by reference.

Pass by value


Pass by value parameter diberikan tanpa merubah nilai dari nilai atau variabel asli. Parameter yang berada dalam fungsi disalin ari nilai yang diberikan pemanggil fungsinya. Untuk dapat lebih jelasnya dapat dilihat pada program berikut ini


#include <iostream>
using namespace std;

// function prototype
int inc(int number);

int main() {
int n = 8;
cout << "Before calling function, n is " << n << endl; // 8
int result = inc(n);
cout << "After calling function, n is " << n << endl; // 8
cout << "result is " << result << endl; // 9
}

int inc(int number) {
++number;
return number;
}

Jadi maksudnya pass by value tidak akan merubah nilai dari fungsi main yang memanggil fungsi inc.

Pass by reference


Berbeda dengan pass by value, pass by reference akan merubah nilai dari variabel. Sebenarnya pass by reference menggunakan konsep pointer. Pointer adalah variabel penunjuk alamat. Penggunaan pass by reference dalam bahasa C++ menggunakan simbol dan '&'.

#include <iostream>
using namespace std;

// function prototype
int inc(int &number);

int main() {
int n = 8;
cout << "Before calling function, n is " << n << endl; // 8
int result = inc(n);
cout << "After calling function, n is " << n << endl; // 9
cout << "result is " << result << endl; // 9
}

int inc(int &number) {
++number;
return number;
}

Mudah untuk dipahami bahwa setiap terjadi perubahan dalam fungsi akan mengakibatkan perubahan pada variabel yang digunakan sebagai parameter.


Pemrograman bukan hanya teori, untuk itu perlu praktek agar dapat mengimplementasikan pelajaran yang dipelajari untuk itu. Cobalan membuat fungsi dan sub program yang dipelajari saat ini.

Berkomentarlah secara bijak.
EmoticonEmoticon