SlideShare a Scribd company logo
A. Fungsi
 Pengertian Fungsi ( function )
Function/fungsi adalah satu blok kode yang melakukan tugas tertentu atau satu blok
instruksi yang di eksekusi ketika dipanggil dari bagian lain dalam suatu program.
 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++
Ada dua jenis fungsi yaitu :
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
- Keyword void juga digunakan jika suatu function tidak mengandung suatu
parameter apapun.
Contoh fungsi void :
#include <iostream>
using namespace std;
void kerucut()
{
float r,t,v;
cout<<"--Mencari Volume Kerucut--"<<endl;
cout<<"Masukkan nilai jari-jari(r) kerucut : ";
cin>>r;
cout<<"Masukkan nilai tinggi(t) kerucut : ";
cin>>t;
cout<<"Volume kerucut dengan r="<<r<<" dan t="<<t<<" adalah : ";
v=(1*3.14*r*r*t)/3;
cout<<v<<endl;
}
void balok()
{
int p,l,t,v;
cout<<"--Mencari Volume Balok--"<<endl;
cout<<"Masukkan nilai panjang (p) balok : ";
cin>>p;
cout<<"Masukkan nilai lebar (l) balok : ";
cin>>l;
cout<<"Masukkan nilai tinggi (t) balok : ";
cin>>t;
cout<<"Volume balok dengan p="<<p<<", l="<<l<<", dan t="<<t<<" adalah : ";
v=p*l*t;
cout<<v<<endl;
}
void main ()
{
kerucut();
balok();
}
2. NonVoid (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
Contoh fungsi non void :
#include <iostream>
using namespace std;
float kerucut()
{
float r,t,v;
cout<<"--Mencari Volume Kerucut--"<<endl;
cout<<"Masukkan nilai jari-jari (r) kerucut : ";
cin>>r;
cout<<"Masukkan nilai tinggi (t) kerucut : ";
cin>>t;
cout<<"Volume kerucut dengan r="<<r<<" dan t="<<t<<" adalah : ";
v=(1*3.14*r*r*t)/3;
return v;
}
int balok()
{
int p,l,t,v;
cout<<"--Mencari Volume Balok--"<<endl;
cout<<"Masukkan nilai panjang (p) balok : ";
cin>>p;
cout<<"Masukkan nilai lebar (l) balok : ";
cin>>l;
cout<<"Masukkan nilai tinggi (t) balok : ";
cin>>t;
cout<<"Volume balok dengan p="<<p<<", l="<<l<<", dan t="<<t<<" adalah : ";
v=p*l*t;
return v;
}
void main ()
{
cout<< kerucut()<<endl;
cout<< balok()<<endl;
}
 Parameter
Terdapat dua macam para parameter fungsi, yaitu :
- Parameter formal adalah variabel yang ada pada daftar parameter dalam definisi
fungsi.
- Parameter Aktual adalah variabel yang dipakai dalam pemanggilan fungsi.
Bentuk penulisan Parameter Formal dan Parameter Aktual.
 Passing by Value
- Call by value akan menyalin nilai dari parameter aktual ke parameter formal.
- Yang dikirimkan ke fungsi adalah nilai dari datanya, bukan alamat memori letak dari
datanya.
- Fungsi yang menerima kiriman nilai akan menyimpannya di alamat terpisah dari
nilai aslinya yang digunakan oleh bagian program yang memanggil fungsi.
- Perubahan nilai di fungsi (parameter formal) tidak akan merubah nilai asli di bagian
program yang memanggilnya.
- Pengiriman parameter secara nilai adalah pengiriman searah, yaitu dari bagian
program yang memanggil fungsi ke fungsi yang dipanggil.
- Pengiriman suatu nilai dapat dilakukan untuk suatu ungkapan, tidak hanya untuk
sebuah variabel, elemen array atau konstanta saja.
 Passing by Reference
- Call by Referense merupakan upaya untuk melewatkan alamat dari suatu variabel ke
dalam fungsi.
- Yang dikirimkan ke fungsi adalah alamat letak dari nilai datanya, bukan nilai
datanya.
- Fungsi yang menerima kiriman alamat ini akan menggunakan alamat yang sama
untuk mendapatkan nilai datanya.
- Perubahan nilai di fungsi akan merubah nilai asli di bagian program yang memanggil
fungsi.
- Pengiriman parameter secara referensi adalah pengiriman dua arah, yaitu dari fungsi
pemanggil ke fungsi yang dipanggil dan juga sebaliknya.
- Pengiriman secara acuan tidak dapat bdilakukan untuk suatu ungkapan.
Contoh fungsi yang menggunakan parameter :
#include <iostream>
using namespace std;
#define PI 3.14;
float kerucut(float r,float t)
{
float v=(1*3.14*r*r*t)/3;
return v;
}
int balok(int p,int l,int t)
{
int v=p*l*t;
return v;
}
void main ()
{
int a,b,c,d,e;
cout<<"--Menghitung Volume Kerucut--"<<endl;
cout<<"Masukkan nilai jari-jari(r) : ";
cin>>a;
cout<<"Masukkan nilai tinggi(t) : ";
cin>>b;
cout<<"Volume kerucut adalah : ";
cout<<kerucut(a,b)<<endl;
cout<<"--Menghitung Volume Balok--"<<endl;
cout<<"Masukkan nilai panjang(p) : ";
cin>>c;
cout<<"Masukkan nilai lebar(l) : ";
cin>>d;
cout<<"Masukkan nilai tinggi(t) : ";
cin>>e;
cout<<"Volume balok adalah : ";
cout<<balok(c,d,e)<<endl;
}
B. Array
 Pengertian
Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang
menggunakan sebuah nama yang sama. Nilai-nilai data di suatu larik disebut dengan
elemen-elemen larik.Letak urutan dari suatu elemen larik ditunjukkan oleh suatu
subscript atau suatu index.
 Menurut dimensinya, array dapat dibedakan menjadi :
1. Array satu dimensi
Setiap elemen array dapat diakses melalui index
Index array secara default dimulai dari 0.
Deklarasi array :
Tipe_array nama_array[ukuran]
Contoh :
#include <iostream>
using namespace std;
void main()
{
cout<<"---Harga Layanan Salon---"<<endl;
cout<<"Perawatan 1 : 100000"<<endl;
cout<<"Perawatan 2 : 50000"<<endl;
cout<<"Perawatan 3 : 75000"<<endl;
cout<<"Tidak ingin memilih : 0"<<endl;
int salon[3];
int total=0;
int diskon,selisih;
for (int i=0;i<3;i++)
{
cout<<"Masukkan harga jenis perawatan yang Anda inginkan : ";
cin>>salon[i];
cout<<salon[i]<<endl;
total=total+salon[i];
diskon=0.1*total;
selisih=total-diskon;
}
cout<<"Total harga perawatan Anda adalah : ";
cout<<total<<endl;
cout<<"Diskon Anda sebesar : ";
cout<<diskon<<endl;
cout<<"Anda harus membayar sebesar : ";
cout<<selisih<<endl;
int uang;
cout<<"Masukan uang Anda : ";
cin>>uang;
int kembali=uang-selisih;
cout<<"Uang kembalian Anda sebesar : ";
cout<<kembali<<endl;
}
2. Array dua dimensi
Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah buah
kolom bentuknya dapat berupa matriks atau tabel.
Deklarasi array :
Tipe_array nama_array [baris][kolom]
Contoh :
#include <iostream>
using namespace std;
void main()
{
int i,j;
int a[3][3]={{4,5,6},{2,3,4},{1,2,3}};
cout<<"Matriks A : "<<endl;
for (i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
int b[3][3]={{6,4,3},{5,1,3},{7,1,3}};
cout<<"Matriks B : "<<endl;
for (i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
cout<<b[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
int c;
cout<<"Matriks C = A+B : "<<endl;
for (i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
c=a[i][j]+b[i][j];
cout<<c<<" ";
}
cout<<endl;
}
cout<<endl;
}
3. Array Multidimensi
Array multidimensi merupakan array yang mempunyai ukuran lebih dari dua. Bentuk
pendeklarasian array multidimensi sama saja dengan deklarasi array dimensi satu
maupun dimensi dua.
Deklarasi array :
Tipe_array nama_array [ukuran 1][ukuran 2] . . . [ukuran N]
 Perbedaan array dengan tipe data lain :
- Array dapat mempunyai sejumlah nilai, sedangkan tipe data lain hanya dihubungkan
dengan sebuah nilai saja.
- Array dapat digunakan untuk menyimpan beberapa nilai tipe data lain data (char, int,
float, double, long, dll) yang sama dengan satu nama saja.
- Selain itu, array dapat berupa satu dimensi atau lebih, sedangkan tipe data lain hanya
berupa satu dimensi.
 Array juga dapat digunakan sebagai parameter. Jenisnya :
a. Array dimensi satu sebagai parameter :
Pengiriman parameter berupa array dimensi satu merupakan pengiriman secara
acuan/referensi, karena yang dikirimkan adalah alamat dari elemen pertama
arraynya, bukan seluruh nilai-nilai elemenya. Alamat elemen pertama dari array
dapat ditunjukkan oleh nama lariknya yang tidak ditulis dengan indeknya.
b. Array dua dimensi sebagai parameter :
Pengiriman parameter berupa array dua dimensi hampir sama dengan pengiriman
parameter array satu dimensi, hanya saja perbedaannya adalah dalam array dua
dimensi harus menyebutkan baris dan kolom array dimensi dua tersebut,
mendeklarasikan MAX_ROWS dan MAX_COLS yang digunakan untuk pengiriman
parameter array dua dimensi dan pada saat pengiriman parameter formal array dua
dimensi, kita harus menyebutkan banyaknya dimensi array untuk kolom, sehingga
ukuran kolom dapat diketahui, hal ini berkaitan dengan pemesanan variabel array di
memori.

More Related Content

PPT
Bab 2 perhitungan galat
PDF
Geometri analitik ruang
PDF
sistem koordinat vektor (kartesian, silindris, bola)
PDF
Turunan Fungsi Kompleks
PPT
03 limit dan kekontinuan
PDF
Aplikasi integral
PDF
STATISTIK INDUSTRI 1 - TEORI PROBABILITAS
PPT
Metode numerik persamaan non linier
Bab 2 perhitungan galat
Geometri analitik ruang
sistem koordinat vektor (kartesian, silindris, bola)
Turunan Fungsi Kompleks
03 limit dan kekontinuan
Aplikasi integral
STATISTIK INDUSTRI 1 - TEORI PROBABILITAS
Metode numerik persamaan non linier

What's hot (20)

PPTX
Modul 2 pd linier orde n
PPTX
Graf ( Matematika Diskrit)
PDF
Parametric Equations
PPTX
Penerapan integral dalam bidang ilmu
PPS
Fungsi Vektor ( Kalkulus 2 )
PDF
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
PDF
Kuadratur gauss kel 10
PPT
Kalkulus 2 bab. Aplikasi Integral Rangkap Dua (Menghitung Pusat Massa)
PPT
Bilangan kompleks lengkap
PDF
Pengenalan Persamaan Differensial Parsial
PDF
persamaan-diferensial-orde-ii
PDF
Aturan Inferensi dan Metode Pembuktian
PPTX
Ruang Vektor ( Aljabar Linear Elementer )
PPTX
Contoh soal dan penyelesaian metode biseksi
PDF
Contoh soal-olimpiade-matematika-smama-aime-omits-dll
PDF
19. modul turunan (diferensial) pak sukani
PPTX
Matematika 2 - Slide week 13 - Eigen
DOCX
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
PPS
Bab 8. Fungsi Transenden ( Kalkulus 1 )
DOCX
operasi pada fungsi
Modul 2 pd linier orde n
Graf ( Matematika Diskrit)
Parametric Equations
Penerapan integral dalam bidang ilmu
Fungsi Vektor ( Kalkulus 2 )
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
Kuadratur gauss kel 10
Kalkulus 2 bab. Aplikasi Integral Rangkap Dua (Menghitung Pusat Massa)
Bilangan kompleks lengkap
Pengenalan Persamaan Differensial Parsial
persamaan-diferensial-orde-ii
Aturan Inferensi dan Metode Pembuktian
Ruang Vektor ( Aljabar Linear Elementer )
Contoh soal dan penyelesaian metode biseksi
Contoh soal-olimpiade-matematika-smama-aime-omits-dll
19. modul turunan (diferensial) pak sukani
Matematika 2 - Slide week 13 - Eigen
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Bab 8. Fungsi Transenden ( Kalkulus 1 )
operasi pada fungsi
Ad

Viewers also liked (7)

PPTX
Array dan fungsi
PPTX
2 adp dasar-dasar algoritma
PDF
Function c++
PDF
5. pemrograman array dan_string
DOC
Modularisasi – function dalam c++
PPTX
Pemograman dasar array
PPT
Array dan Fungsi
Array dan fungsi
2 adp dasar-dasar algoritma
Function c++
5. pemrograman array dan_string
Modularisasi – function dalam c++
Pemograman dasar array
Array dan Fungsi
Ad

Similar to Fungsi dan Array Pada C++ (20)

PDF
Diskusi Dasar Pemrograman Pertemuan Ke-13.pdf
PDF
Asyiknya belajar struktur data di planet c++
PDF
Asyiknya Belajar Struktur Data di Planet C++
PDF
Function c++
PPTX
Function
PPT
Tistrukdat5
PPT
Function
PPT
Pertemuan II Function
PPT
DOCX
Modul pd
PPTX
fungsi c++ dalam bahasa pemgroaman C++ .pptx
PPTX
prosedur_dan_fungsi_dalam_algoritma_dan.pptx
PPTX
prosedur_dan_fungsi_dalam_algoritma_dan.pptx
PPTX
PPT-UEU-Bahasa-Pemrograman-Pertemuan-11.pptx
PPTX
Dasar pemrograman Kelompok 3 xi tkj 2 (1).pptx
PDF
MAteri:Penggunaan fungsi pada pemrograman c++
DOCX
Laporan praktikum modul vi
PDF
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
PDF
Diskusi Dasar Pemrograman Pertemuan Ke-14.pdf
PPT
Fungsi dan Prosedur
Diskusi Dasar Pemrograman Pertemuan Ke-13.pdf
Asyiknya belajar struktur data di planet c++
Asyiknya Belajar Struktur Data di Planet C++
Function c++
Function
Tistrukdat5
Function
Pertemuan II Function
Modul pd
fungsi c++ dalam bahasa pemgroaman C++ .pptx
prosedur_dan_fungsi_dalam_algoritma_dan.pptx
prosedur_dan_fungsi_dalam_algoritma_dan.pptx
PPT-UEU-Bahasa-Pemrograman-Pertemuan-11.pptx
Dasar pemrograman Kelompok 3 xi tkj 2 (1).pptx
MAteri:Penggunaan fungsi pada pemrograman c++
Laporan praktikum modul vi
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
Diskusi Dasar Pemrograman Pertemuan Ke-14.pdf
Fungsi dan Prosedur

More from Toro Jr. (20)

PDF
Tugas BAB 1 & 2
PDF
Tugas BAB 3 & 4
DOCX
Tugas 5 MTK3
DOCX
Tugas 4 MTK 3
DOCX
Tugas 3 MTK3
DOCX
TUGAS 2 MTK 3
DOCX
Tugas 1 MTK3
DOCX
Tugas Kisi-Kisi MTK Tes 2 (Monica R.)
DOCX
Tugas 3 MTK2
DOCX
Tugas Matematika 2 : Buku Calculus (Integral Tentu)
PPTX
Soal-soal Tentang Pembebanan Aksial
DOCX
Katup-katup Pada Pneumatik
PPTX
Integral Substitusi
DOCX
Rangkaian Clipper
DOCX
Pengertian, Kurva, dan Karakteristik TRIAC
DOCX
Alarm Anti Maling Menggunakan Aplikasi Rangkaian Sensor Sentuh Sederhana
PPTX
Pressure Relief Valve
PPTX
Rangkaian R, L, C AC dan Rangkaian Filter
DOCX
Tugas 2 MTK2
DOCX
Tugas 1 MTK2
Tugas BAB 1 & 2
Tugas BAB 3 & 4
Tugas 5 MTK3
Tugas 4 MTK 3
Tugas 3 MTK3
TUGAS 2 MTK 3
Tugas 1 MTK3
Tugas Kisi-Kisi MTK Tes 2 (Monica R.)
Tugas 3 MTK2
Tugas Matematika 2 : Buku Calculus (Integral Tentu)
Soal-soal Tentang Pembebanan Aksial
Katup-katup Pada Pneumatik
Integral Substitusi
Rangkaian Clipper
Pengertian, Kurva, dan Karakteristik TRIAC
Alarm Anti Maling Menggunakan Aplikasi Rangkaian Sensor Sentuh Sederhana
Pressure Relief Valve
Rangkaian R, L, C AC dan Rangkaian Filter
Tugas 2 MTK2
Tugas 1 MTK2

Recently uploaded (20)

DOCX
Modul Ajar Pembelajaran Mendalam Senbud Seni Musik Kelas XII Terbaru 2025
PPTX
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
PDF
Materi Seminar AITalks AI dan Suku Digital
PPTX
5. Bahan Bacaan Asinkronus Modul 5_ Perencanaan Pembelajaran.pptx
PPTX
9ICP - Hubungan antara Pancasila dengan UUD 1945Bhinneka Tunggal Ika.pptx
PPTX
Bahan Presentasi Persamaan Elips .pptx
DOCX
Modul Ajar Pembelajaran Mendalam Senbud Seni Teater Kelas 12 Terbaru 2025
PPSX
Teknik Trading Selang Seling Yang Dapat Digunakan Untuk Trading Manual Maupun...
DOCX
CONTOH RANCANGAN MODUL PROYEK KOKURIKULER SMA 1.docx
PPT
Teknologi-Pangan-Pertemuan-820728132309-.ppt
DOCX
Modul Ajar Deep Learning PAI & BP Kelas 12 SMA Terbaru 2025
PPTX
MATERI MPLS TENTANG KURIKULUM DAN KEGIATAN PEMBELAJARAN
PPTX
Rancangan Kegiatan Kokurikuler SMP N 1 Karanggede
PPTX
PPT MATERI KODING DAN KECERDASAN ARTIFISIAL UNTUK PEMBELAJARAN
PPTX
Keterbatasan-Fasilitas-dalam-Mengajar-KKA.pptx
PPTX
PENGIMBASAN PEMBELAJARAN MENDALAM (DEEP LEARNING)
DOCX
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
PDF
Lembar Kerja Mahasiswa Konsep Sistem Operasi
PDF
KELOMPOK 4 LK Modul 4 KP4 Asesmen PM (3).pdf
DOCX
Modul Ajar Deep Learning PAI & BP Kelas 11 SMA Terbaru 2025
Modul Ajar Pembelajaran Mendalam Senbud Seni Musik Kelas XII Terbaru 2025
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
Materi Seminar AITalks AI dan Suku Digital
5. Bahan Bacaan Asinkronus Modul 5_ Perencanaan Pembelajaran.pptx
9ICP - Hubungan antara Pancasila dengan UUD 1945Bhinneka Tunggal Ika.pptx
Bahan Presentasi Persamaan Elips .pptx
Modul Ajar Pembelajaran Mendalam Senbud Seni Teater Kelas 12 Terbaru 2025
Teknik Trading Selang Seling Yang Dapat Digunakan Untuk Trading Manual Maupun...
CONTOH RANCANGAN MODUL PROYEK KOKURIKULER SMA 1.docx
Teknologi-Pangan-Pertemuan-820728132309-.ppt
Modul Ajar Deep Learning PAI & BP Kelas 12 SMA Terbaru 2025
MATERI MPLS TENTANG KURIKULUM DAN KEGIATAN PEMBELAJARAN
Rancangan Kegiatan Kokurikuler SMP N 1 Karanggede
PPT MATERI KODING DAN KECERDASAN ARTIFISIAL UNTUK PEMBELAJARAN
Keterbatasan-Fasilitas-dalam-Mengajar-KKA.pptx
PENGIMBASAN PEMBELAJARAN MENDALAM (DEEP LEARNING)
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
Lembar Kerja Mahasiswa Konsep Sistem Operasi
KELOMPOK 4 LK Modul 4 KP4 Asesmen PM (3).pdf
Modul Ajar Deep Learning PAI & BP Kelas 11 SMA Terbaru 2025

Fungsi dan Array Pada C++

  • 1. A. Fungsi  Pengertian Fungsi ( function ) Function/fungsi adalah satu blok kode yang melakukan tugas tertentu atau satu blok instruksi yang di eksekusi ketika dipanggil dari bagian lain dalam suatu program.  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++ Ada dua jenis fungsi yaitu : 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 - Keyword void juga digunakan jika suatu function tidak mengandung suatu parameter apapun. Contoh fungsi void : #include <iostream> using namespace std;
  • 2. void kerucut() { float r,t,v; cout<<"--Mencari Volume Kerucut--"<<endl; cout<<"Masukkan nilai jari-jari(r) kerucut : "; cin>>r; cout<<"Masukkan nilai tinggi(t) kerucut : "; cin>>t; cout<<"Volume kerucut dengan r="<<r<<" dan t="<<t<<" adalah : "; v=(1*3.14*r*r*t)/3; cout<<v<<endl; } void balok() { int p,l,t,v; cout<<"--Mencari Volume Balok--"<<endl; cout<<"Masukkan nilai panjang (p) balok : "; cin>>p; cout<<"Masukkan nilai lebar (l) balok : "; cin>>l; cout<<"Masukkan nilai tinggi (t) balok : "; cin>>t; cout<<"Volume balok dengan p="<<p<<", l="<<l<<", dan t="<<t<<" adalah : "; v=p*l*t; cout<<v<<endl; } void main () { kerucut(); balok(); } 2. NonVoid (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 Contoh fungsi non void : #include <iostream> using namespace std; float kerucut() { float r,t,v; cout<<"--Mencari Volume Kerucut--"<<endl;
  • 3. cout<<"Masukkan nilai jari-jari (r) kerucut : "; cin>>r; cout<<"Masukkan nilai tinggi (t) kerucut : "; cin>>t; cout<<"Volume kerucut dengan r="<<r<<" dan t="<<t<<" adalah : "; v=(1*3.14*r*r*t)/3; return v; } int balok() { int p,l,t,v; cout<<"--Mencari Volume Balok--"<<endl; cout<<"Masukkan nilai panjang (p) balok : "; cin>>p; cout<<"Masukkan nilai lebar (l) balok : "; cin>>l; cout<<"Masukkan nilai tinggi (t) balok : "; cin>>t; cout<<"Volume balok dengan p="<<p<<", l="<<l<<", dan t="<<t<<" adalah : "; v=p*l*t; return v; } void main () { cout<< kerucut()<<endl; cout<< balok()<<endl; }  Parameter Terdapat dua macam para parameter fungsi, yaitu : - Parameter formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi. - Parameter Aktual adalah variabel yang dipakai dalam pemanggilan fungsi. Bentuk penulisan Parameter Formal dan Parameter Aktual.  Passing by Value - Call by value akan menyalin nilai dari parameter aktual ke parameter formal. - Yang dikirimkan ke fungsi adalah nilai dari datanya, bukan alamat memori letak dari datanya. - Fungsi yang menerima kiriman nilai akan menyimpannya di alamat terpisah dari nilai aslinya yang digunakan oleh bagian program yang memanggil fungsi. - Perubahan nilai di fungsi (parameter formal) tidak akan merubah nilai asli di bagian program yang memanggilnya. - Pengiriman parameter secara nilai adalah pengiriman searah, yaitu dari bagian program yang memanggil fungsi ke fungsi yang dipanggil. - Pengiriman suatu nilai dapat dilakukan untuk suatu ungkapan, tidak hanya untuk sebuah variabel, elemen array atau konstanta saja.  Passing by Reference - Call by Referense merupakan upaya untuk melewatkan alamat dari suatu variabel ke dalam fungsi.
  • 4. - Yang dikirimkan ke fungsi adalah alamat letak dari nilai datanya, bukan nilai datanya. - Fungsi yang menerima kiriman alamat ini akan menggunakan alamat yang sama untuk mendapatkan nilai datanya. - Perubahan nilai di fungsi akan merubah nilai asli di bagian program yang memanggil fungsi. - Pengiriman parameter secara referensi adalah pengiriman dua arah, yaitu dari fungsi pemanggil ke fungsi yang dipanggil dan juga sebaliknya. - Pengiriman secara acuan tidak dapat bdilakukan untuk suatu ungkapan. Contoh fungsi yang menggunakan parameter : #include <iostream> using namespace std; #define PI 3.14; float kerucut(float r,float t) { float v=(1*3.14*r*r*t)/3; return v; } int balok(int p,int l,int t) { int v=p*l*t; return v; } void main () { int a,b,c,d,e; cout<<"--Menghitung Volume Kerucut--"<<endl; cout<<"Masukkan nilai jari-jari(r) : "; cin>>a; cout<<"Masukkan nilai tinggi(t) : "; cin>>b; cout<<"Volume kerucut adalah : "; cout<<kerucut(a,b)<<endl; cout<<"--Menghitung Volume Balok--"<<endl; cout<<"Masukkan nilai panjang(p) : "; cin>>c; cout<<"Masukkan nilai lebar(l) : "; cin>>d; cout<<"Masukkan nilai tinggi(t) : "; cin>>e; cout<<"Volume balok adalah : "; cout<<balok(c,d,e)<<endl; } B. Array  Pengertian Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama. Nilai-nilai data di suatu larik disebut dengan
  • 5. elemen-elemen larik.Letak urutan dari suatu elemen larik ditunjukkan oleh suatu subscript atau suatu index.  Menurut dimensinya, array dapat dibedakan menjadi : 1. Array satu dimensi Setiap elemen array dapat diakses melalui index Index array secara default dimulai dari 0. Deklarasi array : Tipe_array nama_array[ukuran] Contoh : #include <iostream> using namespace std; void main() { cout<<"---Harga Layanan Salon---"<<endl; cout<<"Perawatan 1 : 100000"<<endl; cout<<"Perawatan 2 : 50000"<<endl; cout<<"Perawatan 3 : 75000"<<endl; cout<<"Tidak ingin memilih : 0"<<endl; int salon[3]; int total=0; int diskon,selisih; for (int i=0;i<3;i++) { cout<<"Masukkan harga jenis perawatan yang Anda inginkan : "; cin>>salon[i]; cout<<salon[i]<<endl; total=total+salon[i]; diskon=0.1*total; selisih=total-diskon; } cout<<"Total harga perawatan Anda adalah : "; cout<<total<<endl; cout<<"Diskon Anda sebesar : "; cout<<diskon<<endl; cout<<"Anda harus membayar sebesar : "; cout<<selisih<<endl; int uang; cout<<"Masukan uang Anda : "; cin>>uang; int kembali=uang-selisih; cout<<"Uang kembalian Anda sebesar : "; cout<<kembali<<endl; }
  • 6. 2. Array dua dimensi Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah buah kolom bentuknya dapat berupa matriks atau tabel. Deklarasi array : Tipe_array nama_array [baris][kolom] Contoh : #include <iostream> using namespace std; void main() { int i,j; int a[3][3]={{4,5,6},{2,3,4},{1,2,3}}; cout<<"Matriks A : "<<endl; for (i=0;i<3;i++) { for(j=0;j<3;j++) { cout<<a[i][j]<<" "; } cout<<endl; } cout<<endl; int b[3][3]={{6,4,3},{5,1,3},{7,1,3}}; cout<<"Matriks B : "<<endl; for (i=0;i<3;i++) { for(j=0;j<3;j++) { cout<<b[i][j]<<" "; } cout<<endl; } cout<<endl; int c; cout<<"Matriks C = A+B : "<<endl; for (i=0;i<3;i++) { for(j=0;j<3;j++) { c=a[i][j]+b[i][j]; cout<<c<<" "; } cout<<endl; } cout<<endl; }
  • 7. 3. Array Multidimensi Array multidimensi merupakan array yang mempunyai ukuran lebih dari dua. Bentuk pendeklarasian array multidimensi sama saja dengan deklarasi array dimensi satu maupun dimensi dua. Deklarasi array : Tipe_array nama_array [ukuran 1][ukuran 2] . . . [ukuran N]  Perbedaan array dengan tipe data lain : - Array dapat mempunyai sejumlah nilai, sedangkan tipe data lain hanya dihubungkan dengan sebuah nilai saja. - Array dapat digunakan untuk menyimpan beberapa nilai tipe data lain data (char, int, float, double, long, dll) yang sama dengan satu nama saja. - Selain itu, array dapat berupa satu dimensi atau lebih, sedangkan tipe data lain hanya berupa satu dimensi.  Array juga dapat digunakan sebagai parameter. Jenisnya : a. Array dimensi satu sebagai parameter : Pengiriman parameter berupa array dimensi satu merupakan pengiriman secara acuan/referensi, karena yang dikirimkan adalah alamat dari elemen pertama arraynya, bukan seluruh nilai-nilai elemenya. Alamat elemen pertama dari array dapat ditunjukkan oleh nama lariknya yang tidak ditulis dengan indeknya. b. Array dua dimensi sebagai parameter : Pengiriman parameter berupa array dua dimensi hampir sama dengan pengiriman parameter array satu dimensi, hanya saja perbedaannya adalah dalam array dua dimensi harus menyebutkan baris dan kolom array dimensi dua tersebut, mendeklarasikan MAX_ROWS dan MAX_COLS yang digunakan untuk pengiriman parameter array dua dimensi dan pada saat pengiriman parameter formal array dua dimensi, kita harus menyebutkan banyaknya dimensi array untuk kolom, sehingga ukuran kolom dapat diketahui, hal ini berkaitan dengan pemesanan variabel array di memori.