PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan...

27
Contoh Program Procedure Pada C++ Prosedur adalah fungsi yang tidak mengembalikan nilai, maka dari itu penggunaan prosedur selalu menggunakan void karena void tidaklah mengembalikan nilai. Tujuan dari penggunaan prosedur salah satunya adalah untuk mendefinisikan masing – masing tugas. Listing Program #include<iostream.h> void volume_limas() { double p, l, t; cout<<"Volume limas segi empat"<<endl; cout<<"Masukkan panjang: "; cin>>p; cout<<"Masukkan lebar: "; cin>>l; cout<<"Masukkan tinggi: "; cin>>t; cout<<"Volume limas segi empat: "<<p*l*t/3<<endl; } void volume_kerucut() { double r, t; cout<<"Volume kerucut"<<endl; cout<<"Masukkan jari2: "; cin>>r; cout<<"Masukkan t: ";

Transcript of PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan...

Page 1: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

Contoh Program Procedure Pada C++ Prosedur adalah fungsi yang tidak mengembalikan nilai, maka dari itu penggunaan prosedur selalu menggunakan void karena void tidaklah mengembalikan nilai.Tujuan dari penggunaan prosedur salah satunya adalah untuk mendefinisikan  masing – masing tugas.

Listing Program#include<iostream.h>

void volume_limas(){double p, l, t;cout<<"Volume limas segi empat"<<endl;cout<<"Masukkan panjang: ";cin>>p;cout<<"Masukkan lebar: ";cin>>l;cout<<"Masukkan tinggi: ";cin>>t;cout<<"Volume limas segi empat: "<<p*l*t/3<<endl;}

void volume_kerucut(){double r, t;cout<<"Volume kerucut"<<endl;cout<<"Masukkan jari2: ";cin>>r;cout<<"Masukkan t: ";cin>>t;cout<<"Volume kerucut: "<<3.14*r*r*t/3<<endl;}

void volume_bola(){

Page 2: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

double r;cout<<"Volume bola"<<endl;cout<<"Masukkan nilai r= ";cin>>r;cout<<"Volume bola= "<<4*3.14*r*r*r/3<<endl;}

int main(){volume_limas();volume_kerucut();volume_bola();

return 0;}

Output Program

PERBEDAAN FUNGSI DAN PROSEDUR

Pengertian ProsedurProsedur adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian). Procedure biasanya bersifat suatu aktifitas seperti meghitung faktorial sebuah bilangan, mencari bilangan genap dari sekumpulan bilangan ,dsb. Prosedur banyak digunakan pada program yang terstruktur karena:

Merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur.

Page 3: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.

Membuat kode program lebih mudah dibaca. Dapat digunakan untuk menyembunyikan detil program

Prosedur yang baik memiliki ciri-ciri sebagai berikut:

Hanya memiliki satu fungsi tujuan (logical inherent). Sebuah prosedur sebaiknya hanya memiliki satu fungsi tujuan dan tidak bercampur dengan tujuan lain. Hal ini untuk membuat prosedur lebih focus.

Berukuran kecil (small size). Yang dimaksud ukuran disini adalah panjang algoritma atau panjang kode program pada suatu prosedur. Ukuran kecil akan mudah dibaca maupun diperbaiki.

Tidak tergantung pada prosedur lain (independent). Sebuah prosedur harusnya bersifat mandiri, artinya sebuah prosedur dapat berjalan dan diuji tanpa menunggu bagian lainnya selesai. Selain itu variable yang digunakan dalam prosedur tidak mempengaruhi variabel yang digunakan pada bagian lain di keseluruhan program.

 

Bentuk umum prosedur adalah sebagai berikut:

Void NamaProsedur (DaftarParameter){

/*Code atau Badan Prosedur*/

}

Contoh prsedur dalam Bahasa C:

#include <stdio.h>//Prosedurvoid main(int panjang){// dimisalkan int panjang sebagai parameter inputint lebar, luas; //deklarasi variable dengan tipe data integerpanjang = 16;

printf(“Masukkan Lebar Persegi: “);//menampilkan tulisanscanf(“%d”,&lebar);//menyimpan nilai

luas=(panjang*lebar); //rumus luas persegi panjangprintf(“Luas persegi panjang tersebut adalah : %d\n\n”,luas);

luas=main2(21);//fungsi main2 dapat dipanggil disini karena memiliki nilai returnprintf(“Luas persegi panjang tersebut ke2 adalah : %d\n\n”,luas);}

Page 4: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

Pengertian FungsiFungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe variabel yang kita tentukan. Berbeda dengan procedure yang bisa tidak menggunakan parameter, fungsi harus menggunakan parameter dalam penggunaannya.

Bentuk umum Fungsi adalah sebagai berikut:

TipeData NamaFungsi (DaftarParameter){

/*Code atau Badan Prosedur*/

return nilaireturn;

}

Contoh Fungsi dalam Bahasa C:

#include <stdio.h>

//Fungsiint main(int panjang){int lebar, luas;

printf(“Masukkan Lebar Persegi ke2: “);scanf(“%d”,&lebar);

luas=(panjang*lebar);return luas;}

Perbedaan fungsi dengan prosedur

Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya (kalau pada prosedur pada parameter yang dikirimkan secara acuan).

Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat langsung digunakan untuk dicetak hasilnya. Atau nilai fungsi tersebut dapat juga langsung dipindahkan ke pengenal variable yang lainnya.

Nama Prosedur tidak dapat digunakan lagsung tidak seperti pada Nama Fungsi, yang dapat langsung digunakan dari sebuah prosedur adalah parameternya yang mengandung nilai balik.

Pada dasarnya tidak ada perbedaan yang signifikan antara prosedur dan fungsi pada Bahasa C, hanya dibedakan dari return value. Jika suatu sub program tersebut memiliki nilai balik (return value) maka sub program tersebut disebut Function (Fungsi) jika tidak memiliki nilai balik maka sub program tersebut merupakan prosedure (Procedure).

Mengapa menggunakan fungsi dan prosedur

Memecahkan program yang rumit dan besar menjadi program-program yang lebih sederhana atau kecil.

Untuk aktivitas yang dilakukan lebih dari satu kali / sering dilakukan berulang-ulang.

Page 5: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

Meningkatkan kemampuan untuk menganalisis kesalahan, jika terjadi suatu kesalahan kita tinggal mencari fungsi atau prosedur yang bersangkutan saja dan tak perlu di seluruh program.

FUNCTION & PROCEDURE DALAM BAHASA C/C++ ( SECARA   PROCEDURAL) By jamal herirudin Leave a Komentar

Categories: teknologi

Issue 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

Page 6: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

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”

1. 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 procedure&function.

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

Ditulis dalam satu file dengan program utama/Driver

#include <……………>

Page 7: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

//————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

Contoh :

#include <…..>

// Definisi type

typedef struct

{

float x;  //absis

float y;  //ordinat

}Titik;

// Deklarasi variabel

Titik T;

// Deklarasi Prototipe

void CreateTitik();

// Untuk mendefinisikan titik

//  Initial State(IS)   : Titik T sembarang

//  Final State(FS)     : T.x=0, T.y=0

void SetTitik(float x, float y);

// IS  : T Sembarang

Page 8: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

// FS  : T.x=x, T.y=y

void GetTitik(float &x, float &y);

// IS : T sembarang

// FS : x=T.x;  y=T.y

void CetakTitik(float xx, float yy);

// IS : Layar sembarang

// FS : xx dan yy tercetak ke layar

// Realisasi Prototipe

void CreateTitik()

{  T.x=0; T.y=0; }

void SetTitik(float x, float y)

{ T.x=x; T.y=y; }

void GetTitik(float &x, float &y)

{ x=T.x; y=T.y; }

void CetakTitik(float xx, float yy)

{ cout << “Absis   : ” << xx <<endl;

cout << “Ordinat : “ << yy <<endl;

}

// Program Utama

int main()

{

// Deklarasi lokal /Kamus lokal

float xx, yy;

// Algoritma

Page 9: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

CreateTitik();

GetTitik(xx,yy);

CetakTitik(xx,yy);

SetTitik(4,5);

GetTitik(xx,yy);

CetakTitik(xx,yy);

return 0;

}

Contoh :

#include <…..>

// Definisi type

typedef struct

{

float x;  //absis

float y;  //ordinat

}Titik;

// Deklarasi variabel global

Titik T1,T2;

// Deklarasi Prototipe

Titik CreateTitik();

// Pre-Condition  : Titik belum terdefinisi

// Fungsi CreateTitik akan membentuk sebuah titik dan

mengembalikan nilai bertype titik.

Titik SetTitik(int x, int y);

Page 10: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

// Pre-condition : Titik sudah terdefinisi

// Fungsi mengembalikan T, dgn T.x diset x; T.y diset y

Titik AddTitik(Titik T1, Titik T2);

// Pre-condition : T1 dan T2 telah terdefinisi

// Fungsi akan mengembalikan hasil penambahan 2 titik,

void GetTitik(Titik T, int &x, int &y);

// IS : T telah terdefinisi

// FS : x=T.x;  y=T.y

void CetakTitik(Titik T);

// IS : Layar sembarang, T telah terdefinisi

// FS : T.x dan T.y tercetak ke layar

// Realisasi Prototipe

Titik CreateTitik()

{ Titik T;  // deklarasi lokal

T.x=0; T.y=0;  return T;        }

Titik SetTitik(int x, int y)

{

Titik T;   // Deklarasi lokal

T.x=x; T.y=y;

return T;

}

Titik AddTitik(Titik T1, Titik T2)

{ Titik T;  // Deklarasi lokal

T.x=T1.x + T2.x;  T.y=T1.y + T2.y;

Page 11: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

return T;

}

void CetakTitik(Titik T)

{

cout << “Absis : “<< T.x << endl;

cout << “Ordinat :” << T.y << endl;

}

// Program Utama

int main()

{

// Deklarasi lokal /Kamus lokal

// T1,T2 dan T3 bisa dideklarasikan di sini

// Algoritma

T1=CreateTitik();

T2=CreateTitik();

Titik T3=CreateTitik();    // Deklarasi sekaligus inisialisasi

CetakTitik(T1);  CetakTitik(T2); CetakTitik(T3);

T1=SetTitik(4,5); T2=SetTitik(4,7);

CetakTitik(T1);  CetakTitik(T2); CetakTitik(T3);

T3=AddTitik(T1,T2);

CetakTitik(T1);  CetakTitik(T2); CetakTitik(T3);

return 0;

}

Kelebihan bahasa C++ dalam hal function adalah

Page 12: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

–          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.

 Ditulis dalam beberapa file (file header, realisasi, driver)

–          Header : berisi definisi type dan deklarasi prototipe

// Nama file : Titik.h

// Deskripsi : Header dari titik

#ifndef Titik_H

#define Titik_H

// Definisi type

typedef struct

{

float x;  //absis

float y;  //ordinat

}Titik;

// Deklarasi Prototipe

void CreateTitik();

// Untuk mendefinisikan titik

//  Initial State(IS)   : Titik T sembarang

//  Final State(FS)     : T.x=0, T.y=0

void SetTitik(float x, float y);

// IS  : T Sembarang

// FS  : T.x=x, T.y=y

Page 13: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

void GetTitik(float &x, float &y);

// IS : T sembarang

// FS : x=T.x;  y=T.y

void CetakTitik(float xx, float yy);

// IS : Layar sembarang

// FS : xx dan yy tercetak ke layar

#endif

–          Realisasi : Coding dari  prototipe

// Nama file : Titik.cpp

// Deskripsi : Realisasi dari titik.h

#include <iostream.h>

#include “Titik.h”

// Deklarasi variabel

Titik T;

// Realisasi Prototipe

void CreateTitik()

{  T.x=0; T.y=0; }

void SetTitik(float x, float y)

{ T.x=x; T.y=y; }

void GetTitik(float &x, float &y)

{ x=T.x; y=T.y; }

void CetakTitik(float xx, float yy)

{ cout << “Absis   : ” << xx <<endl;

cout << “Ordinat : ” << yy <<endl;

Page 14: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

}

–          Driver   : Menguji / memanggil  realisasi prototipe

// Nama file : UTitik.cpp

// Deskripsi : Driver/Program Utama untuk menguji Titik

#include “Titik.h”

#include <conio.h>

int main()

{

// Deklarasi lokal /Kamus lokal

float xx, yy;

// Algoritma

clrscr();

CreateTitik();

GetTitik(xx,yy);

CetakTitik(xx,yy);

SetTitik(6,9);

GetTitik(xx,yy);

CetakTitik(xx,yy);

return 0;

}

 

Pengantar Paradigma Object-Oriented

Perhatikan ADT(Abstract Data Type) Data dan Function dalam ADT dipandang sebagai satu kesatuan. Data merupakan elemen kritis dalam pengembangan program OO, harus ada mekanisme

untuk menjaga agar function-function luar tidak melakukan modifikasi.

Page 15: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

Dalam OOP terjadi dekomposisi masalah menjadi sejumlah object-object. Data dan function diorganisasikan dalam gambar sebagai berikut :

Features dari OOP :

Program terbagi kedalam object-object. Struktur data merupakan karakteristik object. Data dapat disembunyikan dan tidak dapat diakses oleh function external. Object-object berkomunikasi melalui function yang dapat digunakan secara bersama. Data dan function baru dengan mudah dapat ditambahkan ketika perlu Design program secara bottom-up.

 

Konsep dasar dari OOP :

Objects Classes Data abstraction dan encapsulation Inheritence Polymorphism Message passing

Aplikasi dari OOP :

Real-time systems Simulation and modelling Object-oriented databases Hypertext, hypermedia and expertext AI and expert systems Neural networks nd parallel programming Decision support and office automation systems CAD/CAM systems

 

Contoh :

#include <iostream.h>

typedef struct

{

char name[30];

int  age;

}person;

Page 16: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

person p;    // object

void getdata(void);

void display(void);

// Member Function

void getdata(void)

{

cout << “Enter name : “;

cin >> p.name;

cout << “Enter age : “;

cin >> p.age;

}

void display(void)

{

cout << “\nName : ” << p.name;

cout << “\nAge  : ” << p.age;

}

main()

{

getdata();

display();

}

#include <iostream.h>

class person

{

private :

Page 17: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

char name[30];

int  age;

public  :

void getdata(void);

void display(void);

};

// Member Function

void person::getdata(void)

{

cout << “Enter name : “;

cin >> name;

cout << “Enter age : “;

cin >> age;

}

void person::display(void)

{

cout << “\nName : ” << name;

cout << “\nAge  : ” << age;

}

main()

{

person p;    // object

p.getdata();

p.display();

}

Page 18: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

Tentang iklan-iklan ini

Pada materi membahas tentang penggunaan prosedur, dimana prosedur adalah suatu block program yang dapat menerima input parameter dan dapat dipanggil dari fungsi utama dari pemrograman C++. Prosedur umumnya disebut method pada pemrograman, dimana method terdiri dari 2 yaitu: Fungsi dan Prosedur. Dalam pemrograman C++ fungsi dideklarasikan dengan kata kunci function, sedangkan prosedur dideklarasikan sebagai void. Perbedaan fungsi dan prosedur adalah terletak pada cara memberikan  keluaran yang dihasilkan dari proses method itu sendiri. Fungsi dapat mengembalikan hanya satu nilai keluaran. Sedangkan prosedur tidak mengembalikan nilai keluaran, namun prosedur bias menggunakan parameter input pass by reference, dimana pemanggilannya menggunakan pointer. Dalam pembahasan kali ini, materi yang dibuatkan contoh programnya adalah terkait tentang implementasi prosedur pada pemrograman C++ dengan membuat block proses dari pengecekan bilangan prima. Berikut adalah listing programnya.

SourceCode/*       Materi : Cara implementasi prosedur (void)       Nama : Putu Hendra Eka Parman       Nim : 49013029*/#include <iostream> // memanggil file iostreamusing namespace std; // mendukung perintah cout dan cin// prosedur cek bilangan prima dengan melewatika 1 parameter intvoid cek_prima(int p){       int cek = 0; // deklarasi sekaligus inisialisasi variabel cek       for(int i = 1; i<=p; i++){ // perulangan for dengan batas = p              if(p % i == 0) // kondisi jika hasil p modulus i sama dengan 0, maka                     cek++; // increment nilai cek       }       if(cek == 2) // kondisi jika niali cek sama dengan 2, maka              cout << p << " Bilangan Prima" << endl; // tampilkan pesan bilangan prima       else // jika tidak maka              cout << p << " Bukan Bilangan Prima" << endl; // tampilkan pesan bukan bilangan prima}

int main() // fungsi main{       int bil; // deklarasi variabel bil bertipe integer       cout << "Inputkan bilangan positif : "; // perintah input nilai       cin >> bil; // nilai yg diinput ditampung ke variabel bil       cek_prima(bil); // memanggil prosedur cek_prima(parameter) dengan melawatkan parameter bil        system("pause"); // menghentikan proses sejenak       return 0; // mengembalikan nilai 0}

Fungsi / Function adalah satu blok kode yang melakukan tugas tertentu atau satu blok instruksi yang di eksekusi ketika dipanggil dari bagian lain dalam suatu program.

Page 19: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

Tujuan pembuatan fungsi adalah :

Memudahkan dalam pembuatan program. Menghemat ukuran program. Keuntungan memakai fungsi : Menguraikan tugas pemrograman rumit menjadi langkah-langkah yang lebih

sederhana atau kecil. Mengurangi duplikasi kode (kode yang sama ditulis berulang-ulang) dalam program. Dapat menggunakan kode yang ditulis dalam berbagai program yang berbeda. Memecah program besar menjadi kecil sehingga dapat dikerjakan oleh programmer-

programmer atau dipecah menjadi beberapa tahap sehingga mempermudah pengerjaan dalam sebuah projek

Menyembunyikan informasi dari user sehingga mencegah adanya perbuatan iseng seperti memodifikasi atau mengubah program yang kita buat

Meningkatkan kemampuan pelacakan kesalahan, jika terjadi suatu kesalahan kita tinggal mencari fungsi yang bersangkutan saja dan tak perlu mencari kesalahan tersebut di seluruh program.

Bentuk umum Sebuah fungsi adalah sebagai berikut : Tipedata namafungsi(daftarparameter)

{/*Badan Fungsi*/return nilaireturn; /* untuk tipe data bukan void */}

Jenis-jenis fungsi pada C++1. Void ( Fungi tanpa nilai balik )Fungsi yang void sering disebut juga prosedur. Disebut void karena fungsi tersebut tidak

Page 20: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut. Ciri-ciri dari jenis fungsi Void adalah sebagai berikut:

Tidak adanya keyword return. Tidak adanya tipe data di dalam deklarasi fungsi. Menggunakan keyword void. Tidak dapat langsung ditampilkan hasilnya. Tidak memiliki nilai kembalian fungsi

Keyword void juga digunakan jika suatu function tidak mengandung suatu parameter apapun.

Void : void tampilkan_jml (int a, int b){int jml;jml = a + b;cout<<"hasil"<<jml;getch(); }

Contoh fungsi void :

#include <iostream.h>#include <conio.h>void volume(int &vol, int p, int l, int t){vol = p*l*t; }main(){int pj,lb,tg, hsl;cout<<"Panjang = ";cin>>pj;cout<<"Lebar = ";cin>>lb;cout<<"Tinggi = ";cin>>tg;volume(hsl,pj,lb,tg);cout<<"nVolume = "<<hsl;getch();}Hasilnya :

2. Non Void (Fungsi dengan nilai balik)Fungsi non-void disebut juga function. Disebut non-void karena mengembalikan nilai kembalian yang berasal dari keluaran hasil proses function tersebut .Ciri-ciri dari jenis fungsi non void adalah sebagai berikut:

Page 21: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

Ada keyword return Ada tipe data yang mengawali fungsi Tidak ada keyword void Memiliki nilai kembalian. Dapat dianalogikan sebagai suatu variabel yang memiliki tipe data tertentu sehingga

dapat langsung ditampilkan hasilnya

Non-void : int jumlah (int a, int b)

Contoh fungsi non void :

#include <iostream.h>#include <conio.h>int volume(int p, int l, int t){ int vol;vol = p*l*t;return vol; }main(){int pj,lb,hsl,tg;cout<<"Panjang = ";cin>>pj;cout<<"Lebar = ";cin>>lb;cout<<"Tinggi = ";cin>>tg;hsl=volume(pj,lb,tg);cout<<"nLuasnya = "<<hsl;getch();}

Hasilnya :

Fungsi (Tanpa Nilai Balik, dengan Nilai Balik, Parameter)

Bahasa pemrograman C++ harus memiliki fungsi (funtion), minimal satu fungsi yaitu fungsi main(). Dalam C++, program merupakan kumpulan dari fungsi-fungsi, baik itu fungsi yang didefenisikan secara langsung dalam program maupun fungsi yang disimpan dalam suatu file header.

Page 22: PERBEDAAN FUNGSI DAN PROSEDUR+2.docx · Web viewPengertian Fungsi Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe

C++ mempunyai fungi utama yang disebut fungsi main ( ). Fungsi utama ini selalu ada dalam setiap program C++ dan compiler akan menjalankan program melalui perintah-perintah yang terdapat dalam fungsi ini.Fungsi merupakan sub program yang berguna untuk membuat program dapat menjadi medular sehingga akan lebih mudah dipahami dan dapat digunakan kembali, baik untuk program itu sendiri maupun untuk program lain yang memiliki proses yang sama.Pada bahasa pemrograman C++, fungsi dibedakan menjadi dua, yaitu user-defined function dan built-in function. user-defined function adalah fungsi-fungsi yang didefenisikan sendiri, sedangkan built-in function adalah fungsi-fungsi siap pakai yang telah disediakan oleh compiler.

1. Tanpa Nilai BalikDalam pemrograman C++ bukanlah bahasa prosedural, karena prosedur tidak mempunyai nilai balik. Untuk melakukan hal ini di dalam C++, maka harus membuat suatu fungsi dengan tipe void, yang berarti tidak memiliki nilai balik (return value). contoh:void nama_fungsi (parameter){Pernyataan_yang_akan_dilakukan;……………}2. Dengan Nilai BalikBerbeda dengan fungsi yang bertipe Void, fungsi dengan nilai balik berguna untuk melakukan suatu proses yang dapat mengembalikan sebuah nilai. Dalam fungsi ini harus didefenisikan tipe data dari nilai yang akan dikembalikan.Sebagai contoh:tipe_data nama_fungsi (parameter){Pernyataan_yang_akan_dilakukan;……………return nilai_kembali;}3. ParameterSekarang akan dibuat fungsi dengan parameter sehingga hasil yang diberikan dapat bersifat dinamis, tentu saja bergantung dari nilai parameter yang dimasukkan.Parameter yang terdapat pada pendefenisian suatu fungsi disebut dengan parameter formal, sedangkan parameter yang terdapat pada saat pemanggilan disebut dengan parameter aktual.Jumlah serta tipe data antara parameter formal dan parameter aktual haruslah sesuai, jika tidak maka compiler akan menampilkan pesan kesalahan.Ada 3 jenis parameter yang dapat dilewatkan pada sebuah fungsi dalam bahasa pemrograman C++, yaitu:

parameter masukan parameter keluaran parameter gabungan antara masukan dan keluaran.

Parameter masukan digunakan sebagai nilai masukan dalam sebuah fungsi. Nilai tersebut kemudian akan diproses oleh fungsi untuk menghasilkan sebuah nilai kembalian (return value).