FUNCTION & PROCEDURE DALAM BAHASA C/C++

Isue pemrograman berkembang setiap saat, diawali dengan issue terstruktur sekitar tahun 70’an kemudian issue modular dan yang sedang berkembang adalah issue object oriented. Issue terstruktur dan modular merupakan paradigma prosedural sedangkan issue object oriented adalah berada dalam paradigma object-oriented. Function&Procedure berkembang pada saat terjadinya issue modular, hal itu memudahkan programmer untuk memecah program menjadi bagian-bagian sub program kecil. Untuk mempelajari function & procedure dalam paradigma prosedural perlu diperhatikan dahulu tentang struktur data. Struktur data terbagi dalam beberapa type :

  1. Dasar : integer, real, boolean, character. Nama informasi yang didefinisikan dengan type dasar ini setiap saat hanya dapat menyimpan satu nilai.
  2. Bentukan(user-defined type) : structure, union, enumeration. Type bentukan yaitu type yang merupakan komposisi dari type bentukan. Nama informasi yang didefinisikan dengan type ini setiap saat hanya mengandung satu nilai sesuai dengan komposisi dari type yang didefinisikan.

Definisi Type Structure :

typedef struct {

float x , y;

}Point;

Deklarasi Variabel Bertype Point :

Point P;

Cara akses(baca & tulis) Point :

P.x = 10;   // baca

P.y = 20;   // baca

Definisi Type Enumeration : (lihat Schaum’S hal 45, 138,139)

enum shape {circle, square, triagle };    // circle=0, square=1, triangle=2

enum  color {red, blue, green, yellow };  // red=0, green=1, green=2, yellow=3;

Deklarasi Variabel Bertype Enumeration :

shape  ellipse;

color    background;

Cara akses(baca & tulis) Enumeration :

ellipse=circle;   // baca,  circle bernilai 0

color  =yellow;   // baca, yellow  bernilai 3

cout << “ellipse : “ << ellipse << endl;   // tulis, tercetak  “ellipse : 0”

cout << “color : “ << color << endl;       //  tulis, tercetak  “color : 3”

Derived type(array/tabel, function, pointer).

Procedure&Function dalam pemrograman prosedural merupakan aksi(dari operator-operator)  yang memanipulasi struktur data. Lihat Schaum’S hal 89 – 126!!!

Contoh 1 : terdapat dua buah bilangan bertype integer(struktur data dasar, integer), aksi yang dapat dilakukan terhadap bilangan-bilangan tersebut adalah aksi tambah, kurang, bagi , kali dsb. Aksi-aksi tersebut dapat dipandang sebagai sebuah prosedur atau function. Umumnya, aksi terhadap type dasar  sudah built-in dalam compiler.

Contoh  2 : Terdefinisi 1 variabel bertype Point, aksi yang dapat dilakukan terhadap variabel tersebut adalah tambahpoint, kurangpoint, setpoint, getpoint. Umumnya, aksi terhadap type buatan belum terdefinisi di dalam compiler seperti  C, programmer perlu mendefinisikannya sendiri  sehingga user-programmer dapat menggunakannya. Aksi  tambahpoint,kurangpoint,setpoint diimplementasikan dalam prosedur& function.

Perlu diperhatikan beberapa aspek, ketika akan mengimplementasikan prosedur&function dalam sebuah bahasa pemrograman C/C++(prosedural) yaitu : struktur umum dalam program, relationship antara function&procedure dengan  data (global&lokal.

Format Penulisan Function&Procedure dalam Program C/C++

Ditulis dalam satu file dengan program utama/Driver

#include <……………>

//————Definisi type data

//————Deklarasi variabel/data global

//————Deklarasi function&procedure (primitif)/Prototipe : lihat Schaum’S hal

//                94-95

//————Realisasi Prototipe : lihat Schaum’S hal 94-95

//————Program Utama/Driver : Bagian pemanggil function&procedure, terbagi

//                dua yaitu call by reference dan value : lihat Schaum’S hal 103 – 108.

Kelebihan bahasa C++ dalam hal function adalah

  • Function bisa mengembalikan (return) by reference. Contoh 6.7 lihat Schaum’S hal 162.
  • Overloading : Menggunakan nama yang sama untuk fungsi yang berbeda. Lihat Schaum’S hal 111.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: