-->

Mengetahui Definisi dan Fungsi Templates dan Exception

TEMPLATES

Masrana.com - Template merupakan fungsi yang special yang dapat dioperasikan pada tipe data umum. Fungsi Template berfungsi untuk membuat satu fungsi atau kelas untuk digunakan pada banyak tipe data yang berbeda-beda. Contohnya, seorang programmer ingin menggunakan fungsi tambah() dengan tipe data yang berbeda, daripada programmer tersebut menulis ulang fungsi tersebut programer tersebut dapat menulis fungsi template tambah() dan melewatkan tipe data sebagai sebuah parameter. Menulis badan fungsi yang sama secara berulang kali dengan tipe data yang berbeda merupakan pekerjaan yang menghabiskan banyak waktu dan ruang di kode program. Dan jika terdapat error pada satu fungsi tersebut, maka harus dilakukan perbaikan di semua fungsi satu persatu. Template dapat dibagi menjadi dua, yaitu template fungsi dan template kelas.

Template Fungsi

Secara umum penulisan fungsi template pada kode program adalah sebagai berikut :
template <pengidentifikasian kelas> deklarasi fungsi
atau
template <pengidentifikasian namatipe> deklarasi fungsi

Perbedaan diantara kedua prototype di atas hanya pada kata pengidentifikasian kelas dan namatipe saja, tetapi keduanya memiliki makna dan fungsi yang sama persis. Pengidentifikasian kelas atau namatipe ini digunakan untuk mendefinisikan nama template. Untuk penggambaran lebih jelas dari fungsi template perhatikan gambar berikut :
Contoh program sederhana penggunaan fungsi template pada program C++ sebagai
berikut :
Templates dan Exception
Gambar 2 menunjukkan penggunaan satu fungsi template bernama tmt pada tiga tipe data yang berbeda yaitu int, long dan double. Nilai variabel dilewatkan melalui argumen n sebagai masukan pada fungsi add().

Template Fungsi dengan Argument Lebih dari Satu

Penggunaan lebih dari satu argument pada fungsi template dipisahkan dengan tanda koma (,) antara argument satu dengan argument yang lain. Berikut contoh program dengan lebih dari satu parameter.
Templates dan Exception
Dalam menggunakan multiple argument mungkin saja dalam lebih dari satu template argument. Hal ini terjadi karena argument yang dilewatkan terdiri atas tipe data yang berbeda. Untuk itu diperlukan sedikit perubahan kode dengan melakukan lebih dari satu pengidentifikasian kelas sesuai dengan jumlah tipe data. Jika merujuk pada program 3 maka dapat dituliskan sebagai berikut :
template <class T,class P>
P MAX(T x, P y)
{
return (x>y)? x:y ;
}

Template Kelas

Template kelas ini berguna ketika suatu kelas mendefiniskan sesuatu dengan tipe data yang bebas. Secara umum penulisan kode program template kelas sebagai berikut :
template <class T>
class className
{
private:
 T var;
public:
 T member_fungsi(T arg);
 ... .. ...
};


Dan untuk mendefinisikan objek pada template kelas ditulis dalam format kode sebagai berikut :
nama_kelas<tipe_data> nama_objek(argumen);

Argumen dapat ditulis jika memang ada argument yang dilewatkan, jika tidak ada maka “(argumen)” tidak perlu ditulis. Berikut adalah contoh program dengan menggunakan template kelas.
Templates dan Exception

EXCEPTION

Exception merupakan error yang terjadi pada waktu program berjalan (runtime). Exception memberikan pendekatan berorientasi objek untuk mengatasi error yang dihasilkan oleh kelas C++. Error yang terjadi dapat disebebkan oleh banyak hal seperti memory habis, gagal membuka file, menginisialisasi objek ke nilai yang tidak terhingga atau menggunakan indeks di luar batas ke vektor. Program tanpa exception mengatasi error dengan menambah statemen if…else untuk selalu melakukan cek output program. Masalah yang muncul pada pendekatan ini adalah harus dilakukan pemeriksaan pada setiap panggilan fungsi. Hal ini membutuhkan lebih banyak kode sehingga kadang membuat program semakin sulit untuk dibaca. Masalah dapat menjadi semakin kompleks ketika kelas digunakan, karena bisa saja error terjadi tanpa pemanggilan fungsi secara eksplisit. Exeption terdiri atas tiga kode program untuk menangani error yaitu :
  • throw - Program akan melemparkan (throw) exception ketika terjadi error. Ini dilakukan oleh kode throw.
  • catch – program menangkap (catch) exception dengan exception handler pada tempat dimana error ini akan diatasi. Kode catch pada program mengindikasikan tempat menangkap exception yang dilempar (thrown).
  • try – suatu try block mengindenitfikasi suatu bagian pada kode program dimana exception akan diaktifkan. Kemudian diikuti oleh satu atau lebih catch block.
Secara umum penulisan exception pada program C++ menggunakan format sebgai berikut :
try {
 // blok kode untuk mencoba (try)
 throw exception; // melempar (throw)
exception ketika error dalam try block muncul
}
catch () {
 // blok kode untuk mengatasi error
}

Berikut adalah contoh program menggunakan exception :
Templates dan Exception
Exception juga dapat diterapkan pada kelas, berikut adalah contoh program exception pada kelas.
Templates dan Exception
Gambar di atas adalah contoh exception kelas dengan argument. Jika tanpa argument cukup dengan menuliskan member fungsi exception pada baris 10-17 dengan class negative{}; dan baris 20 menjadi throw negatif();.

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel

close