pada
kesempatan kali ini saya akan menyampaikan beberapa fungsi dan cara kerja C++,
walaupun saya agak kurang bersemangat untuk menulis artikel-artikel ini tapi ku
paksakan agar generasi setelah ku tetap mau berbagi ilmu tentang C++
wkwkwk.jadi kita langsung saja yang pertama iyalah :
A. Pengertian Fungsi
Sejauh ini kamu telah berlatih dengan
membuat program dalam fungsi utama alias fungsi main(). Bagaimana jika program
yang kamu buat merupakan program yang kompleks? Apakah kamu akan menggunakan
fungsi main saja untuk semua tugas? tentu saja ini akan membuat kamu mengalami
kesulitan dalam melakukan pengembangan serta pada saat membaca struktur program
di tahap debugging.
Untuk mengatasi masalah tersebut, dalam pemrograman
C++ menggunakan pendekatan fungsi, dimana fungsi digunakan untuk membagi
program berdasarkan bagian-bagian tertentu yang memiliki tugasnya
masing-masing. Tentu saja semua fungsi yang bakalan kamu buat tidak akan
berjalan sendiri-sendiri namun bekerja atas dasar panggilan atau koordinasi
fungsi utama atau fungsi main().
Dibawah ini merupakan
komponen-komponen dalam sebuah fungsi itu:
- Suatu fungsi jelas memiliki tipe. Tipe suatu
fungsi menentukan nilai kembalian dari fungsi tersebut. Suatu fungsi
dengan tipe int (integer) akan memberikan kembalian/ return berupa nilai
bertipe integer dari pemrosesan yang sudah dilakukannya. Berbeda dengan
tipe void, dimana tipe fungsi ini tidak memiliki nilai kembalian atau
dapat dikatakan fungsi void hanya menjalankan rutin program saja.
- Nama_fungsi merupakan pengenal suatu fungsi.
Nama_fungsi akan sangat berguna dan wajib disertakan karena sebagai basis
pemanggilan.
- Parameter merupakan variabel penampung input
suatu fungsi. Dapat dikatakan bahwa parameter merupakan satu-satunya
gerbang input dan pertukaran nilai antara suatu fungsi dengan dunia luar
(fungsi main).
- Return merupakan instruksi yang berguna
mengembalikan hasil kerja suatu fungsi, untuk dapat digunakan di dunia
luar (fungsi main).
Agar kamu semakin paham dengan apa yang sudah jelaskan
di atas, maka perhatikan contoh berikut ini:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#include
<iostream>
using namespace std;
int hitung_luas (int panjang, int lebar){
int luas = panjang*lebar;
return luas;
}
int main(){
int a,b,hasil;
cout<<"Program Hitung Luas Persegi Panjang"<<endl;
cout<<"-----------------------------------"<<endl;
cout<<"Masukkan nilai panjang :"; cin>>a;
cout<<"Masukkan nilai lebar :"; cin>>b;
hasil
= hitung_luas(a,b);
cout<<"Luas persegi panjang adalah :"<<hasil<<endl;
return 0;
}
|
Program di atas merupakan program yang berfungsi
menghitung luas persegi panjang, dengan memanfaatkan sebuah fungsi. buat
fungsi hitung_luas dengan tipe int (integer). Parameter yang terdapat pada
fungsi hutung_luas adalah panjang, dan lebar dengan masing-masing bertipe data
integer. Variabel luas mimin deklarasikan di dalam fungsi dan memiliki nilai
berupa perkalian panjang dan lebar. Nilai luas kemudian diumpan sebagai nilai
akhir pemrosesan dengan menggunakan instruksi return pada baris ke-enam.
Pada baris ke-17 yaitu di dalam fungsi main(), Mimin
panggil fungsi hitung_luas dan diberikan nilai parameter berupa variabel a, dan
b. Nilai variabel a dan b pada baris sebelumnya menampung nilai panjang dan
lebar yang diinputkan user. Pada baris 17 pula, hasil umpan balik (return)
fungsi hitung_luas, mimin tampung pada variabel hasil untuk kemudian dicetak
pada baris ke-18 untuk melihat hasilnya. Berikut adalah hasil output program:
Seperti yang sudah Mimin jelaskan di atas, terdapat
fungsi dengan tipe void, Fungsi dengan tipe void tidak akan mengembalikan nilai
apapun seperti fungsi yang sudah Mimin contohkan di atas. Fungsi void biasanya
digunakan untuk menjalankan rutin program tertentu saja. Agar kamu lebih paham,
berikut Mimin contohkan kode programnya:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#include
<iostream>
#include
<string>
using namespace std;
int cetak (string kata){
cout<<kata<<endl;
}
int main(){
string
input;
cout<<"Masukkan kata :";
getline(cin,input);
cetak(input);
return 0;
}
|
Program di atas, merupakan program yang memanfaatkan
fungsi void untuk mencetak data yang kamu masukkan. Kamu bisa lihat tidak ada
instruksi return dalam fungsi cetak tersebut. Berikut hasil output programnya:
Suatu fungsi dalam program yang kamu buat bisa
memiliki nama yang sama. Terus bagaimana cara manggilnya , kalau namanya aja
sama? Apa nanti fungsi utama tidak bingung dalam melakukan pemanggilan? Oke,
gini jadi yang membedakan suatu fungsi adalah parameternya, sehingga program
utama atau main() tidak akan salah panggil dan mendapatkan nilai yang salah
walaupun namanya sama. Nih buat lebih memperjelas, saya contohkan kode
programnya:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#include
<iostream>
using namespace std;
void fungsiOverload
(void){
cout<<"Ini Merupakan fungsi overload"<<endl;
}
int fungsiOverload (int bil1, int bil2){
int operasi;
operasi
= bil1*bil2;
return operasi;
}
int main(){
fungsiOverload();
cout<<"Hasil :"<<fungsiOverload(3,5)<<endl;
return 0;
}
|
Pada program di atas, saya membuat dua buah fungsi
dengan nama yang sama yaitu “fungsiOverload”. Fungsi pertama berfungsi mencetak
kata “Ini Merupakan fungsi overload“, sedangkan fungsi kedua
bertugas melakukan perkalian dua buah bilangan. Kamu bisa lihat pada baris 14
dan 15 bagaimana kedua fungsi yang memiliki nama beda namun dipanggil dengan
cara yang berbeda yaitu dari parameternya. Berikut adalah hasil output
programnya:
Fungsi prototype atau prototype function sebenarnya
merupakan sebuah variasi gaya dalam mendeklarasikan sebuah fungsi. Nah coba
kamu perhatikan semua fungsi yang sudah mimin jabarkan dan jelaskan panjang
kali lebar di atas, hehehe. Semua fungsi tersebut dideklarasikan sebelum fungsi
main(). Nah kenapa min kok harus dideklarasikan di awal atau sebelum fungsi
main()? Suatu sub fungsi dideklarasikan diawal suatu fungsi main() dengan
tujuan agar fungsi main dapat mengenali fungsi-fungsi yang ada. Bagaimana kalau
suatu fungsi berada sesudah fungsi main()? jelas bahwa error akan terjadi
karena fungsi main tidak mengenali suatu fungsi yang hendak dipanggil dalam
fungsi utama.
Untuk menanggulangi hal tersebut, dalam pemrograman
C++ dikenal istilah prototype fungction, dimana kamu wajib
mendelarasikan nama fungsi, jenis fungsi, dan parameternya saja sebelum fungsi
main agar dikenali oleh program utama. Untuk selanjutnya kamu bebas menyusun
isi suatu fungsi mengenai apa saja yang hendak dilakukan dengan fungsi tersebut
serta meletakanya setelah fungsi main().
Berikut contohnya kita gunakan fungsi yang sudah ada
di atas:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include<iostream>;
using namespace std;
int hitung_luas (int panjang, int lebar); //Prototype
function
int main(){
int a,b,hasil;
cout<<"Program Hitung Luas Persegi Panjang"<<endl;
cout<<"-----------------------------------"<<endl;
cout<<"Masukkan nilai panjang :"; cin>>a;
cout<<"Masukkan nilai lebar :"; cin>>b;
hasil
= hitung_luas(a,b);
cout<<"Luas persegi panjang adalah :"<<hasil<<endl;
return 0;
}
int hitung_luas (int panjang, int lebar){
int luas = panjang*lebar;
return luas;
}
|
4. Fungsi Inline
Fungsi inline merupakan metode yang
digunakan untuk mempercepat pemanggilan suatu fungsi. Biasanya fungsi yang
diberikan atribut inline merupakan fungsi yang berada di dalam
loop atau dipanggil secara berulang kali. Dengan metode inline,
suatu fungsi akan aktif dalam memori sehingga mempercepat pemanggilan blok
fungsi untuk diproses. Untuk mengaplikasikan fungsi inline cukup
mudah yaitu dengan menambahkan atribut inline sebelum tipe
fungsi. Berikut adalah sintaksnya:
1
2
3
4
5
6
7
|
inline tipe
nama_fungsi (tipe parameter1, tipe parameter2, ...,tipe parameterN){
//Kode fungsi yang akan dialankan
return kembalian;
}
|
B. MENAMPILKAN DATA/INFORMASI KE LAYAR
Untuk keperluan penampilan data/informasi, Turbo C menyediakan sejumlah
fungsi, diantaranya adalah PRINTF ( ), PUTS ( ) dan PUTCHAR ( )
π PRINTF ( )
Merupakan fungsi yang paling umum digunakan dalam menampilkan data.
Berbagai jenis data dapat ditampilkan ke layar dengan fungsi ini.
Bentuk penulisan : printf(“string kontrol”, argumen1, argumen2, …);
- π - String kontrol merupakan keterangan
yang akan ditampilkan pada layar beserta penentu format seperti %d, %f. Penentu
format dipakai untuk memberi tahu kompiler mengenai jenis data yang akan
ditampilkan
-π- Argumen adalah data yang akan
ditampilkan ke layar. Argumen ini dapatr berupa variabel, konstanta atau
ungkapan
π PUTS ( )
Fungsi ini digunakan khusus untuk menampilkan data string ke layar. Sifat
fungsi ini, string yang ditampilkan secara otomatis akan diakhiri dengan \n
(pindah baris). Dibandingkan dengan printf(), perintah ini mempunyai kode mesin
yang lebih pendek.
π PUTCHAR ( )
Digunakan khusus untuk menampilkan sebuah karakter ke layar. Penampilan
karakter tidak diakhiri dengan perpindahan baris, misalnya :
putchar(‘A’); sama dengan printf(“%c”, A);
MEMASUKKAN DATA DARI KEYBOARD
Data dapat dimasukkan lewat keyboard saat
eksekusi berlangsung. Fungsi yang digunakan diantaranya adalah : scanf ( ),
getch ( ), dan getche ( ) .
π SCANF ( )
Merupakan fungsi yang dapat digunakan untuk memasukkan berbagai jenis data.
Bentuk scanf ( ) sesungguhnya menyerupai fungsi printf ( ) yang melibatkan
penentu format. Bentuk penulisan : scanf(“string kontrol”, daftar argumen);
Hal-hal yang perlu diperhatikan dalam pemakaian scanf yaitu :
1. scanf memberi pergantian baris secara otomatis, artinya Anda tidak perlu
memberi \n untuk berpindah ke baris berikutnya.
2. scanf memakai penentu format, tetapi tidak memerlukan penentu lebar
field. Contoh yang salah : scanf(“10.2f”,&gaji);
3. Variabel yang dipakai di dalam scanf harus didahului dengan operator
alamat (&).
C. FUNGSI-FUNGSI NUMERIK (ANGKA)
Saya kurang tau pasti berapa banyak fungsi dari
C++ kalo menurut buku dan saya browsing di internet katanya C++ mempunyai
kurang lebih 450 fungsi dan makro yang dapat dipanggil dari program yang telah
dibuat. Fungsi-fungsi tersebut meliputi berbagai hal, misalnya :
- Proses Input Output tingkat tinggi dan tingkat rendah
- Manipulasi string dan file
- Alokasi memori
- Kontrol Proses
- Konversi data
- Perhitungan matematik
Fungsi-fungsi tersebut ada di dalam file library-nya (Cx.LIB, Mathx.LIB dan
Graphics.LIB). Huruf x diganti dengan model memori yang dipakai.
Fungsi-fungsi tersebut disimpan di dalam file header (*.H). Fungsi tersebut
dapat digabungkan ke dalam program dengan menyertakan file header yang
mengandung fungsi atau rutin yang dipakai.
✏ FUNGSI SQRT
Fungsi : Menghitung akar positif dari sebuah bilangan bulat
Include : #include
✏ FUNGSI POW
Fungsi : Menghitung xy
Include : #include
✏ FUNGSI TAN
Fungsi : Menghitung nilai tangent dari sebuah sudut
Include : #include
Fungsi tan menghitung nilai tangent dari sudut x. Sudut x dalam satuan
radian. Jika sudut x yang diberikan dekat dengan phi/2 atau –phi/2, hasilnya
adalah 0
✏ FUNGSI DIV
Fungsi : Membagi dua bilangan bulat, memberikan hasil bagi dan sisanya
Include : #include
✏ FUNGSI CEIL
Fungsi : Membulatkan ke atas
Include : #include
✏ FUNGSI FLOOR
Fungsi : Membulatkan ke bawah
Include : #include
Fungsi floor menghasilkan bilangan bulat terbesar yang tidak lebih dari x
✏ FUNGSI EXP
Fungsi : Menghitung ex
Include : #include
✏ FUNGSI MAX
Fungsi : Memberikan bilangan yang lebih besar dari 2 bilangan yang
diberikan
Include : #include
✏ FUNGSI MIN
Fungsi : Memberikan bilangan yang lebih kecil dari 2 bilangan yang
diberikan
Include : #include
####ππ»ππ»ππ»π####
AlFAΠ―ZOY
Share This :
comment 0 komentar
more_vert