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*/
/*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.
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 :
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.
0 comments:
Post a Comment