Anda di halaman 1dari 42

Fungsi pada C++

Algoritma dan Pemrograman


PSTI FT Unram
Pengertian Fungsi dan komponen didalamnya

Parameter Fungsi

Function Prototype

Passing pada Function (Value, Reference dan Address)

Agenda Return Value

Fungsi Rekursif

Fungsi Inline

Function Overloading

Default Parameter
Pengertian Fungsi/ Function
• Function adalah sebuah struktur, pengelompokan yang mengandung sekelompok
pernyataan yang akan dilaksanakan oleh CPU jika nama function tersebut dipanggil untuk
dieksekusi.
• Kecuali untuk function utama yaitu int main() yang akan dieksekusi secara otomatis.
Pengertian Fungsi/ Function

• Bentuk umum penulisan :

• Tipe = adalah sebuah return type/data type dari Function, function dapat memiliki nilai
di saat akhir hidup dari function dan hal itu disebut pengembalian nilai.
• Apabila tidak ada nilai yang dikembalikan, tipe dapat berupa void
• Nama = nama atau identifier, adalah sebuah identitas atau nama dari function tersebut.
• Parameter = kita dapat mengkosongkan jika tidak membutuhkan. Parameter adalah
pemesanan memori untuk menyimpan argumen yang berisi nilai disaat pemanggilan
function.
Deklarasi Function
• Penulisan yg dilakukan sama dengan menuliskan fungsi utama (int
main ())
• Bebas memberikan nama fungsi, memberi return type, serta
menambahkan parameter.
Cara mengakses function
• CPU Hanya akan melaksanakan pernyataan-pernyataan yang berada
di dalam function utama int main.
• Saat mendirikan sebuah function kustom, pernyataan-pernyataan
yang ada di dalam function kustom tidak akan dibaca oleh CPU jika
nama atau identifier pada function yang kita buat tidak dipanggil di
dalam fungsi utama atau dalam function lain yang sudah terjamin
CPU akan melewatinya.
Cara
mengakses
function
Function Prototype

• Function Prototype adalah sebuah


pernyataan deklarasi function tanpa
menggunakan badan atau definisi dari
function dan di akhiri dengan
semicolon ;. Function prototype
berfungsi memberitahukan kepada
kompiler bahwa function tersebut ada
Function
Prototype
Function Prototype

• Function prototype adalah pernyataan


dari deklarasi function, yang terdiri dari
retun type, identitas, parameter dan
tanpa badan dari function (definisi).
Karena merupakan pernyataan maka
mendirikan function prototype harus di
akhiri dengan semicolon ;.
Function
Prototype
Function
Prototype
Passing By Value
• Pass by value (memberikan nilai) adalah salah satu metode untuk memberikan argumen
kepada function parameter di saat pemanggilan function. Pada dasarnya C/C++
memberikan argument kepada function parameter dalam bentuk nilai (value). Ketika kita
memberikan argument pada function, maka nilai dari argument akan di salin ke dalam
function parameter.

• Dalam menentukan argument kita dapat membuatnya dalam bentuk nilai, ekspresi,
variabel, literal, object, enum dan lain-lain yang mengandung nilai di dalamnya.
Passing By Value
Passing By
Value
Passing
By Value
• Metode ini tidak cocok digunakan untuk
memberikan argument berupa array, object
Passing By dan segala sesuatu yang cukup memakan
memori besar. Karena apa yang terjadi
Value adalah nilai dari argument di salin ke
function parameter, hal itu dapat
menurunkan performa program anda.
• Pass by Reference adalah salah satu metode
pemberian argument kepada function
parameter saat pemanggilan function, dengan
memanfaatkan reference pada function
parameter.

Passing By • Pada pembuatan function parameter kita


Reference dimungkinkan untuk menggunakan reference.
metode ini tidak jauh beda dengan pass by
value, keduanya merupakan metode yang
memberikan argument kepada parameter. Tapi
hal yang berbeda di sini adalah bagaimana
function parameter menerima argument
tersebut.
Passing By Reference
Passing By
Reference
Untuk membuktikan hal tersebut, kalian bisa melihat pada
contoh program di atas. Semua perubahan nilai pada function
parameter &x dari function kustom myF() akan berpengaruh juga
pada argument a pada function utama int main().

Fungsi dari metode ini biasanya digunakan untuk mengembalikan


Passing By nilai. saat kita mengoperasikan sebuah function kustom,
terkadang kita menginginkan function kustom tersebut dapat

Reference
mengembalikan nilai yang lebih dari satu. Kadang ini tidak
dimungkinkan jika kita menggunakan keyword return.

Dan metode ini bisa kita gunakan untuk mengatasi permasalahan


tersebut. kita dapat membuat function kustom yang dapat
mengembalikan nilai lebih dari satu. Nilai yang dikembalikan
tidak perlu menjadi RValue tapi akan langsung diberikan kebada
argument.
Fungsi Return
pada Function
• Return berfungsi untuk
mengakhri eksekusi dari
function tersebut, dan
return juga dapat
memberikan nilai pada
saat akhir dari function
kepada pemanggil.
Function yang tidak
mengembalikan nilai

• Function yang tidak


mengembalikan nilai
biasanya menggunakan
return type yang bertipe
void.
Function yang
mengembalikan nilai
• Dan jenis dari function yang lain
adalah Function yang dapat
mengembalikan nilai. Setiap function
yang bukan function dengan return
type void merupakan function yang
dapat mengembalikan sebuah nilai
kepada pemanggil.
Function yang
mengembalikan
nilai
Function yang
mengembalikan
nilai
Fungsi Rekursif adalah fungsi yang dapat
memanggil dirinya sendiri secara berulang-
ulang.

Fungsi rekursif akan berjalan apabila


Fungsi dipanggil didalam fungsi tersebut dengan
Rekursif cara menyertakan nama fungsi-nya.

Proses yang dijalankan pada fungsi rekursif


menjadi lebih efisien tetapi membutuhkan
space memori yang banyak.
Contoh Fungsi
Rekursif :
Menghitung nilai
faktorial
Contoh Fungsi
Rekursif :
Menghitung
pangkat
Fungsi Inline pada Function

• Fungsi sering melakukan pemanggilan secara berulang-ulang pada sekali


melakukan running.
• Sehingga menyebabkan kerja CPU menjadi lebih berat dalam melakukan
pekerjaannya karena akan menyimpan alamat dan nilai secara berulang-ulang
dan berkali-kali.
• Dikarenakan hal tersebut, diperlukan sebuah fungsi yg dinamakan inline.
• Inline akan membantu membuat CPU menjadi bekerja lebih mudah
Fungsi Inline
pada
Function
Function Overloading

• Function overloading adalah salah satu fitur C/C++ yang memungkinkan kita untuk
mendirikan dua atau lebih function dengan identitas yang sama selama mereka
memiliki keunikan pada function parameter.
• Pada artikel sebelumnya penulis pernah mengatakan bahwa, kita tidak dimungkinkan
untuk mendirikan sebuah identitas dengan identitas(nama variabel, object, class, dan
lain-lain) yang sama dengan yang sudah ada sebelumnya. Tapi aturan tersebut tidak
sepenuhnya berlaku pada function.
• Pada function kita dimungkinkan untuk mendirikan function lebih dari satu dengan
identitas yang sama, selama masing-masing function tersebut memiliki perbedaan
pada function parameter. Hal tersebut disebut sebagai fitur Overloading.
Kegunaan Function Overloading

• Overloading berfungsi untuk membuat fleksibilitas saat penggunaan function.


sebelumnya diberitahukan bahwa ketika kita memberikan argument, kita
harus mengikuti aturan yang telah ditetapkan oleh function parameter ( kita
harus memberikan argument dengan menyesuaikan tipe data dan urutan dari
function parameter ).

• function yang memiliki fitur overloading, memberikan kemudahan dengan


kemungkinkan untuk memberikan argument secara fleksibel sesuai keadaan
dan kebutuhkan.
Kegunaan
Function
Overloading
Kegunaan
Function
Overloading
Default Parameter

• Default Parameter adalah Function parameter yang secara default memiliki


nilai dari awal (telah di inisialisasi).
• Default parameter memungkinkan kita tidak diwajibkan memberikan
argument saat pemanggilan function. Jika kita tidak memberikan argument
maka nilai pada insialisasi akan digunakan tapi jika kita memberikan argument,
maka nilai dari argument kita akan digunakan.
Default
Parameter
Peraturan dalam Default Parameter

• Default parameter harus dimulai dari kanan, biasanya para programmer


menaruh parameter berdasarkan tingkatan yang terpenting dimulai dari kiri,
dan parameter paling opsional selalu dimulai dari kanan.
• Hal itu merupakan aturan yang wajib untuk dilakukan, karena pada Bahasa
pemrograman C/C++ kita tidak dimungkinkan untuk memberikan argument
secara acak.
• Hal ini dikarenakan parameter yg paling penting akan diletakkan dari sebelah
kiri, yg paling kanan adalah opsional yg dapat digunakan sebagai default
parameter
Peraturan
dalam
Default
Parameter
Peraturan dalam Default Parameter

• Default parameter biasanya digunakan oleh programmer sebagai pelengkap


fitur overloading, Dengan adanya default parameter yang dipadukan dengan
function overloading, dapat membuat suatu function lebih fleksibel saat
digunakan.

Anda mungkin juga menyukai