Sunday, September 11, 2016

Kegunaan Template Class dan Reference Parameter pada C++

https://massmada.blogspot.com/2016/09/template-const-reference-parameter-c.html
Sesuai judulnya, mungkin artikel ini akan menjadi jarang dicari oleh agan-agan semua. Yah artikel ini materi kelas menengah dari pemrograman C++. Sehingga hanya sedikit yang menggunakan template class.

Template dalam C ++ adalah kelas dan fungsi yang dapat beroperasi dengan tipe generik. Template class dapat digunakan untuk apa pun yang dapat dilakukan kelas reguler.

Sebenarnya template berfungsi untuk menyusuaikan tipe data yang belum jelas di deklarasikannya.




Contoh program nya seperti ini : 

#include <iostream>
using namespace std;

template<class T>
T abc(T a, T b, T c){
    return a+b+c;
}
main(){
    cout<<abc(1,2,9);
}


Pertama untuk menggunakan template harus menggunakan kode
template<class NamaVariabel>, jika tidak maka penggunaan template tidak dikenali dan menjadi error. Didalam contoh kode diatas aku memberikan T sebagai NamaVariabel class Template. 
Jika dalam function dan parameter functionnya, kita menggunakan void, int , float, double sebagai tipe data dari function tersebut. Sebagai contoh void abc(), void hitung() , int hitung(int a) , dsb . 
Sebenarnya pemakaian tipe data tersebut tidak praktis, karena hanya bisa digunakan sesuai tipe data tersebut, misalnya int hitung(int a) tidak akan bisa diisi parameternya dengan nilai bertipe data float.


Agar praktis maka kita gunakan template, supaya dapat diisi dengan nilai ber tipe data terserah kita.  Contoh programnya dapat dilihat diatas. Diprogram tersebut kita membuat function abc bertipe data T yaitu template. Di function tersebut jika kita memasukan nilai integer ataupun float akan dikenali secara otomatis tanpa adanya error.

T abc(T a, T b, T c){
    return a+b+c;
}


T adalah variabel nya, bila a bertipe data integer maka T adalah tipe data int dan untuk variabel b dan c menyesuaikan dengan tipe data a yang paling awal.Untuk memanggil fungsi T abc(T a, T b, T c) maka cukup panggil saja di main nya :
misalnya : abc(1,2,9);
 Nilai parameter pertama adalah 1, dimana 1 adalah termasuk integer, maka T adalah tipe data integer dan untuk T b dan T c adalah tipe data integer menyesuaikan tipe data yang paling awal dimasukkan tadi.


#Reference Parameter
Reference Parameter adalah  sebuah parameter pada suatu function yang mana parameter tersebut terhubung dengan alamat memori variabel yang dimasukkan pada parameter suatu pemanggilan function, sehingga jika kita mengubah nilai variabel sebenarnya melalui parameter tersebut maka nilainya akan berhasil diubah.

Sebagai contoh kita akan membuat suatu program untuk menukarkan nilai variabel a dan b.

#include <iostream>
using namespace std;

void tukar(int a, int b){
    int t = a;
    a = b;
    b = t;
}

main(){
    int a = 5, b =7;
    cout<<"Sebelum ditukar : a = 5 dan b = 7"<<endl;
    tukar(a, b);
    cout<<a<<" dan "<<b;
}

Tuliskan kode diatas dan run program. Maka akan didapatkan dari program tersebut nilai a tidak berhasil di tukar dengan nilai b. Itu mengapa ? karena kita belum menggunakan reference parameter sehingga kita belum mengganti nilai variabel sebenarnya dalam alamat memori variabel itu. Nah agar program itu berhasil, maka tambahkan tanda & pada parameter :

#include <iostream>
using namespace std;

void tukar(int& a, int& b){
    int t = a;
    a = b;
    b = t;
}

main(){
    int a = 5, b =7;
    cout<<"Sebelum ditukar : a = 5 dan b = 7"<<endl;
    tukar(a, b);
    cout<<a<<" dan "<<b;
}


Yap, dari program diatas maka nilainya berhasil ditukar.

Bagikan

Jangan lewatkan

Kegunaan Template Class dan Reference Parameter pada C++
4/ 5
Oleh

Subscribe via email

Suka dengan artikel di atas? Tambahkan email Anda untuk berlangganan.

Silahkan berkomentar secara bijak dan sesuai dengan topik pembahasan ...

Untuk menyisipkan kode pendek, gunakan <i rel="code"> ... KODE ... </i>
Untuk menyisipkan kode panjang, gunakan <i rel="pre"> ... KODE ... </i>
Untuk menyisipkan gambar, gunakan <i rel="image"> ... URL GAMBAR ... </i>