Program Generik

Membaca judulnya agak aneh mungkin untuk orang awam. Tapi ini tak ada kaitannya dengan obat generik atau semacamnya. Bukan sama sekali.

Program generik adalah program yang ditulis sekali dan dapat dipakai berkali-kali untuk data beragam tanpa harus mengubah inti dari algoritma. Ya! Program generik dapat memberikan kita keleluasaan dengan hanya menulis kode umum hanya sekali dan selanjutnya kode tersebut dapat dipakai ulang untuk tipe data berbeda namun memiliki karakteristik yang sama.

Salah satu bahasa pemrograman terkenal yang mengimplementasikan pemrograman generik adalah C++. Di dalam bahasa C++, untuk membuat fungsi yang bersifat generik, kita hanya perlu menambahkan perintah template.

Template adalah mekanisme yang digunakan untuk mendukung pemrograman generik di C++. Cara kerjanya cukup sederhana, yakni dengan mengaburkan tipe data yang ingin diolah. Data yang akan diolah baru benar-benar diolah dan dilewatkan ke fungsi setelah pemanggilan. Mengerti?? Kalau nggak terima saja dulu, hehehe.

Umumnya sintaks untuk membuat fungsi generic adalah:

template<typename T> tipe_kembalian nama_fungsi(parameter)

Penjelasan:

  1. template: kata kunci untuk mendapatkan fitur template
  2. typename T: mengatakan bahwa tipe data yang akan dilewatkan nantinya akan digantikan oleh simbol T. Dengan kata lain, T akan “merepresentasikan” tipe data yang nantinya akan dilewatkan ke fungsi.

Contoh pemakaiannya adalah:

template<typename T> void swap(T& elemen1, T& elemen2) {

T elmt = elemen1;

elemen1 = elemen2;

elemen2 = elmt;

}

1 Comment

  1. ade

    Sangaat terbantu….tengkyu….:))

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: