Penjelasan Fungsi Inline pada Function

Posted on   Maret 1, 2018   |   Last Modified   Maret 1, 2018
Fungsi Inline pada Function

Fungsi Inline

Inline adalah keyword yang disediakan oleh bahasa pemrograman C digunakan untuk function, berfungsi untuk meningkatkan performa program yang kita buat, sama seperti halnya fungsi macro pada C/C++. Kompilator akan mengganti pernyataan pemanggilan dengan definisi.

Pada artikel sebelumnya, kita dijelaskan bahwa function memiliki banyak manfaat dan kelebihan seperti memudahkan kita untuk menggunakan pernyataan secara berulang-ulang, memudahkan mengubah dan memperbaharui pernyataan hanya dengan memperbaikinya dalam satu tempat, mempermudahkan pembacaan, dan masih banyak lagi.

Tapi, dari beberapa kelebihan function seperti di atas. Function tetap memiliki kelemahan, yaitu setiap kali function dipanggil, ada sejumlah overhead kinerja yang terjadi.

Setiap kali kita memanggil function, apa yang dilakukan CPU bukan hanya melaksanakan isi dari function tersebut. apa yang sebernarnya terjadi adalah, setelah pemanggilan, CPU akan menyimpan alamat dari lokasi baris yang sedang di eksekusi, lalu mencari dan masuk ke function yang di panggil pada memori stack, lalu CPU akan membuat semua deklarasi dengan inisialisasi yang ada pada definisi function,lalu CPU akan melaksanakan pernyataan-pernyataan pada definisi function dan setelah semua itu CPU akan menghapus semua deklarasi pada definisi dan kembali ke alamat lokasi dimana dia berasal.

Dan kita bisa bayangkan bagaimana repotnya CPU melakukan semua itu secara berulang-ulang. Jadi penulisan di tempat bisa menjadi jawaban dari masalah di atas, kita dapat mempermudahkan CPU dalam melakukan hal-hal tersebut, hanya dengan melaksanakan pernyataan-pernyataan yang kita berikan.

Tapi jawaban tersebut bukanlah jawaban yang tepat untuk kita, meskipun kita mempermudah CPU tapi kita akan mempersulit kita sendiri dengan menulis pernyataan-pernyataan yang seharusnya jadi definisi function, berkali-kali sebanyak yang kita butuhkan.

Baca :   Pernyataan Pengulangan

Untuk jawaban dari semua itu, Pada Bahasa pemrograman C/C++ disediakan keyword inline, inline digunakan pada function dan berfungsi untuk pernyataan rekomendasi dari programmer, meminta kepada kompilator untuk mengubah setiap pemanggilan dari function tersebut di ubah menjadi definisi dari function tersebut.

Asumsikan bahwa anda mempunyai program yang memanggil 10 function yang sama berulang kali, dengan menggunakan inline anda mempunyai 10 isi dari function tersebut di setiap pemanggilan.

Bentuk penulisan

inline returnType identifier (parameters){ ...}

keyword inline diletakan pada function, bersamaan dengan return type dan sebelum identitas function.

untuk memperjelas apa yang terjadi pada function inline. Kalian bisa perhatikan program di bawah ini :

#include <iostream>
using namespace std;

inline double perkalian(double x=0, double y=0){
    return x*y;
}

int main(){
    cout<<perkalian(3, 6)<<endl;
    cout<<perkalian(7, 9)<<endl;
    cout<<perkalian(5, 7)<<endl;
    return 0;
}

Saat kompilasi, Kompilator akan mengubah program tersebut seolah akan terlihat seperti :

#include <iostream>
using namespace std;

int main(){
    cout<<(3*6)<<endl;
    cout<<(7*9)<<endl;
    cout<<(5*7)<<endl;
    return 0;
}

Dengan hal tersebut, dapat meningkatkan performa program kita, dan program kita akan dapat berjalan dengan cepat.

Keyword inline sangat berguna untuk function dengan ciri-ciri seperti, function tersebut memiliki definisi yang tidak lebih dari beberapa baris, sering dipanggil, dan function tersebut terdapat pada suatu pernyataan perulangan.

segala hal pasti memiliki kelebihan dan kelemahan. Jika kita menggunakan keyword inline, tindakan inline dapat membuat ukuran program hasil kompilasi dapat membesar karena peluasan function di setiap tempat pemanggilan.

Pada masa ini, Kompilator semakin modern. keyword inline lebih mirip seperti pernyataan untuk menyarankan kepada Kompilator dari programmer. Pernyataan inline yang diajukan oleh programmer dapat diabaikan olek Kompilator modern jika memang tidak memenuhi syarat. Kompilator semakin modern dan pintar, kompier melakukan hal tersebut untuk meningkatkan kualitas dari program kita, Dari segi kecepatan maupun dari segi ukuran.


Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *