Tujuan pembuatan blok/fungsi adalah :
- Memudahkan dalam pembuatan program.
- Menghemat ukuran program.
- 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.
Jenis-jenis blok fungsi pada C++
1. Void (Fungi tanpa nilai balik)
Fungsi yang void sering disebut juga prosedur. Disebut void karena fungsi tersebut tidak 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
#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();
}

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:
- 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
#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();
}