Laporan hasil praktikum alpro II Mdl VI
LAPORAN HASIL PRAKTIKUM
ALGORITMA DAN PEMROGRAMAN II
NAMA : GIANTO
NIM :
DBC 114 043
KELAS : D
MODUL : VI ( TEMPLATE CLASS )
PROGRAM STUDI / JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS PALANGKA RAYA
2015
BAB I
TUJUAN DAN LANDASAN TEORI
I.1. TUJUAN
Setelah menyelesaikan modul
ini, mahasiswa diharapkan
mampu
mengimplementasikannya
template fungsi dan kelas.
I.2. LANDASAN TEORI
Template merupakan cara
untuk mendefinisikan fungsionalitas generik
pada parameter tanpa
perlu mendeklarasikan
tipenya. Abstraksi definisi
fungsi dalam bentuk
pseudo code sehingga
tipe yang digunakan
dapat diganti merupakan
konsep dari template. Penerapan template pada fungsi akan
menghasilkan definisi fungsi. Berikut
ini merupakan langkah-langkah untuk
mendefinisikan fungsi, yaitu:
1. Mulai
dengan keyword template
2. Nyatakan
dalam kurung segitiga, nama placeholder untuk tipe yang akan digunakan.
3. Ikuti
dengan nama fungsi
4. Ikuti nama fungsi dengan daftar parameter.
Pernyataan atau statement yang digunakan dalam template class
adalah sebagai berikut.
a. Increase dan Decrease
Dalam program atau aplikasi pemrograman C++ kita dapat memperpendek operasi :
Increase
(++)
a++;
a+=1;
a=a+1;
Decrease
(--)
a--;
a-=1;
a=a-1;
Misalnya a=3; a++; maka nilai
a yang baru adalah 4.
Operator Increase
(++) dan Decrease (--) dapat digunakan sebagai prefix[sic!] atau suffix[sic!]. Dengan kata lain dapat dituliskan sebelum identifier
variabel (++a) atau sesudahnya (a++). Operator increase yang digunakan sebagai
prefix[sic!] (++a), begini
perbedaannya:
Pada contoh 1, B ditambahkan sebelum nilainya
diberikan ke A. Sedangkan contoh 2, Nilai B diberikan terlebih dahulu ke A dan
B ditambahkan kemudian.
b. Statement Void
Void merupakan tipe data yang
menyatakan tipe kosong untuk :
·
Mendeklarasikan fungsi yang tidak
mengembalikan nilai apapun.
·
Mendeklarasikan fungsi yang tidak menerima parameter
apapun.
·
Bila diawali dengan operator *, menyatakan
penunjuk terhadap sembarang tipe data.
c. Operator penugasan
Operasi penugasan adalah satu tanda dengan (=). Operator ini bekerja
karena “=” adalah operator yang menghasilkan nilai dari ekspresi tangan kanan.
Contoh :
Int
a, b, c;
a=
b=c= 100;
maka
: nilai a, b, dan c = 100
d. Tipe Data
·
Float merupakan salah satu tipe data
bilangan bercacah yang ada pada C++ selain dari double dan long double.
·
Char dan int merupakan salah satu tipe data
bilangan bulat yang ada pada C++ selain.
e.
Fungsi
Program C++ tidak terlepas dari fungsi. Sebab
fungsi adalah salah satu dasar penyusunan blok pada C++. Sebuah program C++
minimal mengandung sebuah fungsi main(). Fungsi ini menjadi awal dan akhir
eksekusi program C++. main adalah nama judul fungsi.
Sedangkan yang dimulai dari tanda { hingga tanda }
disebut tubuh fungsi. Semua yang terletak di dalam tanda {} disebut blok. Tanda
() digunakan untuk mengapit argumen fungsi, yaitu nilai yang akan dilewatkan ke
fungsi. Kata void yang mendahului main() dipakai untuk menyertakan bahwa fungsi ini tidak memiliki nilai balik. Di program C++ juga ada
yang dinamakan fungsi konstriktor.
Fungsi Constructor merupakan
member function khusus yang
menginisialisasi data members dan memiliki nama yang sama dengan nama kelas.
Fungsi Constructor dipanggil saat
membuat objek dari kelas dan tidak memiliki tipe balikan.Konstruktor dipakai untuk menggantikan
fungsi inisialisasi( ).
Ketentuan sebuah konstruktor :
·
Nama konstruktor sama dengan nama kelas
·
Konstruktor tidak memiliki nilai balik
·
Konstruktor harus diletakkan pada bagian
public[sic!]
Adapaun jenis-jenis kontruktor adalah
sebagai berikut:
·
Konstruktor[sic!]
default : tidak dapat menerima argumen, anggota data diberi nilai awal
tertentu.
·
Konstruktor[sic!]
penyalinan[sic!] dengan[sic!] parameter[sic!] : anggota data diberi nilai awal berasal
dari parameter.
·
Konstruktor[sic!]
penyalinan[sic!] objek[sic!] lain[sic!] : parameter berupa objek lain, anggota data
diberi nilai awal dari objek lain.
Dengan penggunaan template kita bisa membuat sebuah fungsi yang
bisa mendukung segala macam tipe variabel.
Penggunaan template tidak terbatas hanya pada fungsi tapi juga mencakup class(
termasuk juga struct,union).Secara garis besar penggunaan
template dapat dibagi 2 yaitu template pada fungsi(function template)dan template pada Class (class template).
Cetakan (template) adalah metode yang memberitahukan
kepada kompiler tentang algoritma mana yang digunakan untuk membentuk suatu
fungsi. Dengan cetakan kita dapat membuat suatu fungsi tertentu tetapi bisa
untuk tipe data berbeda. Kompiler menanganni detil fungsi untuk suatu tipe data
yang sedang digunakan. Baik fungsi global
maupun kelas dapat diprogram sebagai cetakan. Kemudahan template adalah penyesuaian tipe data yang
kita input, dengan adanya penyesuaian tipe data. Dengan satu fungsi bisa
diinput dengan beberapa jenis data, sehingga menghemat code program.
Dalam penggunaanya template ada 2 macam yaitu fungsi
template dan class template. Fungsi template adalah template yang diterapkan untuk fungsi,
dimana kode kode fungsi digunkan untuk beberapa tipe data yang berbeda.
Template fungsi menggambarkan sebuah kumpulan fungsi
sejenis yang hanya dibedakan oleh tiap argument dan nilai balik.
Definisi fungsi template mirip dengan definisi fungsi biasa, hanya saja tipe parameter diberi nama secara simbolik.
Definisi fungsi template mirip dengan definisi fungsi biasa, hanya saja tipe parameter diberi nama secara simbolik.
Berikut implementasi pada praktikum. Sedangkan Class
template adalah template yang diterapkan pada kelas dimana kumpulan class
yang hanya dibedakan oleh tipenya seperti tipe numeris dan char, pointer dan
kombinasinya Sebagai contoh, untuk membuat
template fungsi yang mengembalikan nilai terbesar dari 2 buah nilai bisa
digunakan kode dibawah ini :
template <class myType>
myType GetMax (myType a, myType b)
{
return
(a>b?a:b);
}
Disini
digunakan template fungsi dengan myType sebagai parameter template. Parameter
template ini mewakili type data yang belum didefinisikan, tetapi tetap bisa
digunakan di template fungsi sebagai tipe data yang biasa digunakan. Seperti
yang terlihat template fungsi GetMax mengembalikan nilai 2 parameter yang masih
belum didefinisikan.
Fungsi template adalah fungsi khusus yang dapat beroperasi dengan
tipe generik. Hal ini memungkinkan kita untuk membuat sebuah template fungsi
fungsi yang dapat disesuaikan dengan lebih dari satu jenis atau kelas tanpa
mengulangi seluruh kode untuk tiap tipe.
Dalam C++ ini dapat dicapai dengan menggunakan parameter
template.Sebuah parameter template adalah jenis khusus dari parameter yang
dapat digunakan untuk melewati sebuah tipe sebagai argumen: parameter fungsi
seperti biasa dapat digunakan untuk melewatkan nilai ke fungsi, parameter
template memungkinkan untuk lulus juga jenis untuk fungsi.
Fungsi ini template dapat menggunakan parameter seolah-olah mereka
semua jenis biasa lainnya. Format untuk mendeklarasikan fungsi dengan parameter
jenis template adalah:
template <class
function_declaration identifier>;
template <typename
identifier> function_declaration;
Keyword Template
mengindikasikan bahwa deklarasi fungsi tersebut merupakan definisi
suatu template. Sedangkan keyword class
mengindikasikan bahwa T merupakan
salah satu type parameter. Dan keyword class dapat diganti dengan parameter typename.
Kemudian ini adalah sintaks yang digunakan dalam template kelas spesialisasi :
template
<>
class
mycontainer <
char> { ... };
Pertama-tama,
perhatikan bahwa kita mendahului nama template kelas dengan daftar parameter
EmptyTemplate < >. Hal ini untuk secara eksplisit menyatakan sebagai
spesialisasi template.Tapi yang lebih penting dari prefiks ini, adalah
parameter spesialisasi <char> setelah nama template kelas.
Parameter ini
spesialisasi sendiri mengidentifikasi jenis yang kita akan mendeklarasikan
spesialisasi template kelas (char). Perhatikan perbedaan antara template
kelas generik dan spesialisasi :
template
<
class T>
class mycontainer { ... };
template
<>
class mycontainer <
char> { ... };
Keterangan baris
pertama adalah template generik, dan yang kedua adalah spesialisasi.
BAB II
LANGKAH KERJA
II. LANGKAH KERJA
1. Buatlah program seperti di bawah ini!
#include <iostream.h>
template <class T>
void CetakArray(T *array, const int
count)
{
for (int i=0; i<count; i++)
cout <<
array[i] << " ";
cout<< endl;
}
Main ( )
{
const int aCount=5, bCount=4,
cCount=6;
int a[aCount] = { 1, 2, 3, 4, 5 };
float b[bCount] = { 1.1, 2.2, 3.3, 4.4 };
char c[cCount] = "hello";
cout<< "Array a berisi : "
<< endl;
CetakArray(a, aCount);
cout<< "Array b berisi : "
<< endl;
CetakArray(b, bCount);
cout<< "Array c berisi : "
<< endl;
CetakArray(c, cCount);
return 0;
}
2. Buatlah template
untuk melakukan insertion
sort sehingga dapat
digunakan untuk masukan dengan
tipe data integer, float, dan double!
Algoritma insertion sort adalah sebagai berikut :
DEKLARASI
Var
I, J, N
: integer
X : integer
DESKRIPSI
While X
<Larik [ J ] Do
EndWhile
EndFor
BAB III
PEMBAHASAN
a. Tujuan program
Program ini bertujuan untuk membuat sebuah template class yang
nilai inputannya sudah ada didalam program. Kemudian program template class ini
untuk membuatnya menggunakan aplikasi c++.
b. Coding program pertama
c. Penjelasan coding
#include<iostream.h>
Perintah #include<iostream.h> ini disertakan
diprogram ini karena
melibatkan perintah “cout”.
Tempalte <class T >
Template yang pertama adalah template untuk class dengan nama kelas yaitu class T.
Void CetakArray ( T *array, const int count )
Kemudian setelah penulisan void
tidak boleh menggunakan space karena bagian dari fungsi. Nama
fungsi void yaitu CetakArray. Sedangkan T*array merupakan tipe
data dari data yang ditunjuk bukan merupakan tipe data dari pointernya dan
array disini sebagai variabel pointer. Lalu ada konstanta yaitu count
dengan tipe data yaitu int ( integer ).
{
Tanda kurung
kurawal buka merupakan tanda untuk mengawali pendefinisian fungsi void.
for ( int i = 0; i < count;
i++ )
Kemudian dibaris program ini dilakukan perintah perulangan yaitu for.
Di dalam perulangan ini terdapat perintah variabel i bernilai 0 dengan tipe
data yaitu int ( integer ) , lalu variabel i lebih kecil dari konstanta yaitu count
dan variabel i di increase ( i ++ ).
Cout << array [i]
<< " ";
Pada baris program ini perintah cout
digunakan untuk mencetak array yang mempunyai indeks yaitu i.
Cout << endl ;
Pada baris program ini perintah cout
hanya digunakan untuk ganti baris
pada program .
}
Kemudian tanda kurung kurawal tutup merupakan akhir dari pendefinisian
fungsi void.
Main ( )
Kemudian perintah “int main ( )”, baris ini akan
menginformasikan kompiler bahwa pada program tersebut terdapat sebuah fungsi
bernama “main” yang mengembalikan sebuah nilai integer (int).
{
Pada baris
program ini digunakan tanda kurung kurawal mengawali program main.
const int aCount=5,
bCount=4,cCount=6;
Kemudian pada baris program
ini ditentukan bahwa jumlah karakter pada masing-masing konstanta Count
adalah berbeda. Pada variabel a hanya memuat karakter sebanyak 5
buah karakter saja, variabel b memuat karakter sebanyak 4 buah
karakter dan untuk variabel c memuat jumlah muatan karakter adalah
sebanyak 6 karakter.
int a[aCount] = { 1, 2, 3, 4, 5 } ;
Pada baris program ini, di dalam fungsi main ( ) tipe data
yang akan digunakan ditentukan kembali yaitu untuk variable a
adalah menggunakan tipe data int yang menunjukan konstanta aCount
yang mempunyai ketentuan jumlah karakter yaitu 5 dan nilai dari 5 karakter itu
adalah 1, 2, 3, 4, 5.
float b(bCount = { 1.1, 2.2,
3.3, 4.4 };
Pada baris program ini, di dalam fungsi main ( ) tipe data
yang akan digunakan ditentukan kembali yaitu untuk variable b adalah
menggunakan tipe data float yang menunjukan konstanta bCount
yang mempunyai ketentuan jumlah karakter yaitu 4 dan nilai dari 4 karakter
itu adalah 1.1, 2.2, 3.3, 4.4, 5.5.
char c[cCount] =
"hello";
Pada baris program ini, di dalam fungsi main ( ) tipe data
yang akan digunakan ditentukan kembali yaitu untuk variable c
adalah menggunakan tipe char ( character ) yang menunjukan konstanta cCount
yang mempunyai ketentuan jumlah karakter yaitu 6 dan nilai dari 6 karakter kalimat
itu adalah hello.
Cout << "Array a berisi
: " << endl;
Kemudian perintah cout disini digunakan untuk mencetak
kalimat yaitu Array a berisi
: dan diakhiri dengan perintah endl;.
CetakArray (a, aCount);
Di baris
program ini dilakukan pemanggilan fungsi yaitu CetakArray dengan
parameter aktual yaitu a yang akan memanggil nilai dari parameter
T* array dan untuk parameter aktual yaitu aCount
yang akan memanggil nilai dari parameter const int count.
Cout << "Array b
brisi : " << endl;
Perintah cout
disini digunakan untuk mencetak kalimat yaitu Array b berisi : dan diakhiri dengan endl; .
CetakArray ( b, bCount ) ;
Di baris
program ini dilakukan pemanggilan fungsi yaitu CetakArray dengan
parameter aktual yaitu b yang akan memanggil nilai dari parameter
T* array dan untuk
parameter aktual yaitu bCount yang akan memanggil nilai dari
parameter const int count.
Cout << "Array c
brisi : " << endl;
Perintah cout
disini digunakan untuk mencetak kalimat yaitu Array c berisi : dan diakhiri dengan endl ; .
CetakArray (c, cCount);
Kemudian dibaris program ini dilakukan pemanggilan fungsi yaitu CetakArray
dengan parameter aktual yaitu c yang akan memanggil nilai
dari parameter T* array dan untuk parameter aktual
yaitu cCount yang akan memanggil nilai dari parameter const int count.
Return 0 ;
Kemudian perintah return 0; dalam main ( ) menyatakan bahwa
program berakhir dengan normal.
}
Kemudian tanda “ } “ kurung kurawal tutup digunakan untuk menandakan akhir sebuah program.
Program tugas praktikum
a. Tujuan
Program tugas ini bertujuan untuk membuat atau melakukan insertion sort
( pengurutan penyisipan ) dengan menggunakan tipe data integer (
int ), float dan double.
b. Coding program tugas
c. Penjelasan coding tugas
#include
<iostream.h>
#include
<conio.h>
Pada program awal terdapat perintah diatas yaitu #include
<iostream.h> dan #include <conio.h> , ini
merupakan bagian dari compilator. Kompilator dari c++ menjalankan program ini
dinamakan praprosessor ( # ).
Template < class
T >
Kemudian template yang pertama adalah template untuk class dengan nama kelas yaitu class T.
Void
tukar
( T *array, const int
count, int count2
)
Setelah penulisan void tidak boleh menggunakan space karena bagian dari fungsi. Nama fungsi void
yaitu tukar. Void di ikuti sepasang tanda kurung “( )” karena void merupakan fungsi. Setiap fungsi di C++ selalu di ikuti sepasang
tanda kurung “( )” yang di dalamnya terdapat ctuale yang
merupakan parameter yaitu T ,
sedangkan array merupakan tipe data dari data yang ditunjuk bukan
merupakan tipe data dari pointernya dan array disini sebagai
variabel pointer. Lalu ada konstanta yaitu count dengan tipe data int dan count2
yang bertipe data int ( integer ).
{
Tanda
kurung
kurawal buka merupakan awal dari pendefinisian fungsi void.
T t ;
Pada baris
program ini di buat konstruktor yang sama dengan nama class yaitu T
dan nama konstruktor yaitu t.
t =
array [count]
Pada baris program ini nama konstruktor t
di isikan nilai array yaitu count.
Array[count]
= array[count2];
Pada baris
program ini nilai dari array yaitu count di isikan nilai dari array
yaitu count2.
Array[count2]
= t;
Pada baris program ini nilai dari array yaitu count2 di
isikan nilai dari nama konsruktor yaitu t.
}
Tanda kurung
kurawal tutup merupakan akhir dari pendefinisian fungsi void tukar.
Template <class
T>
Template yang kedua adalah
template untuk class dengan nama kelas yaitu class
T.
Void
insertion_sort
( T *array, const int
count
)
Setelah penulisan void tidak boleh menggunakan space karena bagian dari fungsi. Kemudian nama fungsi
void yaitu insertion_sort. Void di ikuti sepasang tanda kurung “( )” karena void merupakan fungsi. Setiap fungsi di C++ selalu di ikuti
sepasang tanda kurung “( )” yang di dalamnya terdapat ctuale yang
merupakan parameter yaitu T ,
sedangkan array merupakan tipe data dari data yang ditunjuk bukan merupakan
tipe data dari pointernya dan array disini sebagai variabel pointer. Lalu ada
konstanta yaitu count dengan tipe data int ( integer ).
T x ;
Pada baris
program ini di buat konstruktor yang sama dengan nama class yaitu class T dan nama konstruktor yaitu x.
int
i, j;
Pada baris
program di buat suatu objek yaitu i dan j dengan tipe data yaitu int ( integer ).
For ( i =
1; i <= count; i++ )
Pada baris program ini dilakukan
perintah perulangan yaitu for. Di dalam perulangan terdapat perintah
ctuale i bernilai satu dengan tipe data yaitu int ( integer ), lalu ctuale i lebih kecil
atau sama dengan dari konstanta yaitu count dan ctuale i di
increase (++) .
{
Pada baris
program ini kurung kurawal buka merupakan awal pendefinisian untuk perintah for.
X =
array[i];
Kemudian pada baris program ini nilai dari array dengan indeks yaitu i diisikan ke objek yaitu x.
j= i -1;
Pada baris
program ini nilai dari ctuale i di kurang dengan 1
di isikan ke objek yaitu j.
While ( array[j]
< x && j >= 0 )
Kemudian
pada baris
program ini dilakukan perintah perulangan lagi yaitu while.
{
Pada baris
program ini tanda kurung kurawal buka merupakan awal dari perulangan while.
Array[j+1]
= array
[j] ;
Pada baris
program ini, array dengan indeks j di isikan ke array dengan
indeks j di tambah 1.
}
Pada baris
program ini tanda kurung kurawal tutup merupakan akhir dari perulangan while.
Array[j+1]
= x;
Pada baris
program ini nilai dari objek x di isikan ke array dengan indeks j
ditambah 1.
Template <class
T>
Template yang ketiga adalah
template untuk class dengan nama kelas yaitu class
T.
Void
Cetak
( T *array, const int count )
Setelah penulisan void tidak boleh menggunakan space karena bagian dari fungsi. Kemudian nama fungsi
void yaitu Cetak. Void di ikuti sepasang tanda kurung “( )” karena void merupakan fungsi. Setiap fungsi di C++ selalu diikuti
sepasang tanda kurung “( )” yang di dalamnya terdapat ctuale yang
merupakan parameter yaitu T , sedangkan array merupakan tipe data dari data yang
ditunjuk bukan merupakan tipe data dari pointernya dan array disini sebagai
variabel pointer. Lalu ada konstanta yaitu count dengan tipe data int ( integer ).
{
Pada baris
program ini kurung kurawal buka menandakan awal dari pendefinisian fungsi void
Cetak.
Int i ;
Kemudian pada baris program ini di buat objek dengan nama i
dengan tipe data yaitu int.
For ( i =
1; i<= count; i++
)
Dibaris
program ini dilakukan perintah perulangan yaitu for. Didalam
perulangan terdapat perintah ctuale
i bernilai satu dengan tipe data int, lalu ctuale i
lebih kecil atau sama dengan dari konstanta yaitu count dan ctuale i di
increase (++) .
Cout <<”
“<< array[i] << “ “;
Pada baris program ini perintah cout
digunakan untuk mencetak array[i].
Cout <<endl;
Pada baris program perintah cout digunakan
hanya untuk berganti baris.
}
Pada baris
program ini tanda kurung kurawal tutup menandakan akhir dari pendefinisian
fungsi void Cetak.
Template <class
T>
Template yang keempat
adalah template untuk class dengan nama kelas yaitu class T.
Void
CetakArray
( T *array, const int
count
)
Setelah penulisan void tidak boleh menggunakan space karena bagian dari fungsi. Nama
fungsi void yaitu CetakArray. Void di ikuti sepasang tanda kurung “( )” karena void merupakan fungsi. Setiap fungsi di C++ selalu di ikuti
sepasang tanda kurung “( )” yang di dalamnya terdapat ctuale yang
merupakan parameter yaitu T ,
sedangkan array merupakan tipe data dari data yang ditunjuk bukan merupakan
tipe data dari pointernya dan array disini sebagai variabel pointer. Lalu ada
konstanta yaitu count dengan tipe data int ( integer ).
{
Pada baris
program ini tanda kurung kurawal buka merupakan awal dari pendefinisian fungsi void
CetakArray.
For
(int i=0; i<count; i++)
Dibaris
program ini dilakukan perintah perulangan yaitu for. Didalam
perulangan terdapat perintah ctuale
i bernilai 0 dengan tipe data int, lalu ctuale
i lebih kecil dari konstanta yaitu count dan ctuale i
di increase (++).
Cout <<
array[i] <<” “;
Pada baris program ini perintah cout
digunakan untuk mencetak array[i].
Cout <<
endl;
Pada baris program ini perintah cout hanya
digunakan untuk berganti baris.
}
Pada baris
program ini kurung kurawal tutup menandakan akhir dari program pendefinisian
fungsi void CetakArray.
Main ( )
Kemudian kode “int
main ( )”, baris ini akan menginformasikan
kompiler bahwa pada program tersebut terdapat sebuah fungsi bernama “main”
yang mengembalikan sebuah nilai integer (int).
{
Pada baris
program ini digunakan tanda kurung kurawal buka digunakan untuk mengawali program main.
Const
int aCount=4, bCount=4, cCount=4;
Dibaris
program ini ditentukan bahwa jumlah
karakter pada masing-masing konstanta Count adalah sama. Kemudian pada variabel a hanya memuat
karakter sebanyak 4 buah karakter saja, variabel b memuat karakter sebanyak 4
buah karakter dan untuk variabel c memuat jumlah muatan karakter
adalah sebanyak 4 karakter .
int a[aCount] = { 2, 4, 6, 8 }
;
Pada baris program ini, di dalam fungsi main ( ) tipe
data yang akan digunakan ditentukan kembali yaitu untuk variabel a
adalah menggunakan tipe data int yang menunjukan konstanta aCount
yang mempunyai ketentuan jumlah karakter yaitu 4 dan nilai dari 4 karakter itu
adalah 2, 4, 6, 8.
Double b[bCount] = { 3.3, 4.4, 2.2, 9.9 };
Pada baris program ini, di dalam fungsi main ( ) tipe
data yang akan digunakan ditentukan kembali yaitu untuk variable b
adalah menggunakan tipe data yaitu double yang menunjukan
konstanta bCount yang mempunyai ketentuan jumlah karakter yaitu 4
dan nilai dari 4 karakter itu adalah 3.3, 4.4, 2.2, 9.9.
Double c[cCount] = { 1.0, 3.5, 6.3, 5.1 } ;
Pada baris program ini, di dalam fungsi main ( ) tipe
data yang akan digunakan ditentukan kembali yaitu untuk variable c adalah
menggunakan tipe data yaitu double yang menunjukan konstanta cCount
yang mempunyai ketentuan jumlah karakter yaitu 4 dan nilai dari 4
karakter itu adalah 1.0, 3.5, 6.3, 5.1.
Cout <<”Array
a berisi : “<<endl ;
Kemudian perintah cout disini digunakan untuk mencetak kalimat
yaitu Array a berisi : dan akan berganti baris.
CetakArray ( a, aCount ) ;
Dibaris
program ini dilakukan pemanggilan fungsi yaitu CetakArray dengan
parameter ctual yaitu a yang akan memanggil nilai dari parameter T* array dan untuk parameter ctual
yaitu aCount yang akan memanggil nilai dari parameter const int count.
Cout <<”Array
a setelah di urutkan : “<<endl;
Kemudian perintah cout disini digunakan untuk mencetak kalimat
yaitu Array a setelah di urutkan : dan akan
berganti baris.
Insertion_sort ( a,
aCount
) ;
Dibaris
program ini dilakukan pemanggilan fungsi yaitu insertion_sort
dengan parameter ctual yaitu a yang akan memanggil nilai dari
parameter T* array
dan untuk parameter ctual yaitu aCount yang akan memanggil nilai
dari parameter const int count.
Cetak
(a, aCount);
Dibaris
program ini dilakukan pemanggilan fungsi yaitu Cetak dengan
parameter ctual yaitu a yang akan memanggil nilai dari parameter T* array dan untuk parameter ctual
yaitu aCount yang akan memanggil nilai dari parameter const
int count.
Cout <<endl;
Perintah cout disini digunakan hanya untuk
berganti baris pada program.
Cout <<”Array
b berisi : “<<endl;
Kemudian perintah cout disini digunakan untuk mencetak kalimat
yaitu Array b berisi : dan akan berganti baris.
CetakArray ( b,
bCount
) ;
Dibaris program ini dilakukan pemanggilan fungsi yaitu CetakArray dengan
parameter ctual yaitu b yang akan memanggil nilai dari parameter T*
array dan untuk parameter ctual yaitu bCount yang akan
memanggil nilai dari parameter const
int count.
Cout <<”Array
b setelah di urutkan : “<<endl;
Perintah
cout disini digunakan untuk mencetak kalimat yaitu Array b setelah
di urutkan : dan akan berganti baris.
Insertion_sort ( b,
bCount
) ;
Pada baris program ini dilakukan pemanggilan fungsi yaitu insertion_sort
dengan parameter ctual yaitu b yang akan memanggil nilai dari
parameter T* array dan untuk parameter ctual yaitu bCount
yang akan memanggil nilai dari parameter const int count.
Cetak
( b, bCount ) ;
Dibaris
program ini dilakukan pemanggilan fungsi yaitu Cetak dengan
parameter ctual yaitu a yang akan memanggil nilai dari parameter T* array dan untuk parameter ctual yaitu aCount
yang akan memanggil nilai dari parameter const int count.
Cout <<endl;
Perintah cout disini hanya digunakan untuk
ganti baris pada program.
Cout <<”Array
c berisi :
“<< endl ;
Perintah
cout disini digunakan untuk mencetak kalimat yaitu Array c berisi :
dan akan berganti baris.
CetakArray ( c,
cCount
);
Dibaris
program ini dilakukan pemanggilan fungsi yaitu CetakArray dengan
parameter ctual yaitu c yang akan memanggil nilai dari parameter T* array dan untuk parameter ctual
yaitu cCount yang akan memanggil nilai dari parameter const int count.
Cout <<”Array
c setelah di urutkan : “<<endl;
Perintah
cout disini digunakan untuk mencetak kalimat yaitu Array c setelah di
urutkan : dan akan berganti baris.
Insertion_sort ( c,
cCount
) ;
Dibaris
program ini dilakukan pemanggilan fungsi yaitu insertion_sort
dengan parameter ctual yaitu c yang akan memanggil nilai dari parameter
formal T* array dan untuk parameter ctual yaitu cCount
yang akan memanggil nilai dari parameter formal const int count.
Cetak
(c, cCount)
;
Dibaris
program ini dilakukan pemanggilan fungsi yaitu Cetak dengan
parameter ctual yaitu c yang akan memanggil nilai dari parameter
formal T* array dan untuk parameter ctual yaitu cCount
yang akan memanggil nilai dari parameter formal const int count.
Cout <<endl;
Perintah cout disini digunakan hanya untuk
berganti baris pada program .
getch ( ) ;
Fungsi getch( ) merupakan singkatan
dari get character artinya baca karakter tetapi isian data yang
dimasukkan tidak akan ditampilkan di layar.
Return 0 ;
Perintah return 0 dalam main (
) menyatakan bahwa program berakhir dengan normal. Kemudian tanda “}“ Kurung kurawal tutup menandakan akhir program.
BAB IV
KESIMPULAN
Pada praktikum keenam Algortima dan
Pemprograman II yaitu Modul VI Template Class.
Disini akan menarik kesimpulan tentang pengimplementasian template fungsi dan kelas. Kesimpulan dari praktikum diatas adalah sebagai berikut.
Ø
Dengan
penggunaan template kita bisa membuat sebuah fungsi yang bisa mendukung segala
macam tipe variabel atau dengan satu fungsi bisa diinput dengan beberapa jenis data,
sehingga menghemat code program.
Penggunaan template tidak terbatas hanya pada fungsi tapi juga mencakup class (
termasuk juga struct,union ). Secara garis besar penggunaan
template dapat dibagi 2 yaitu template pada fungsi ( function template) dan
template pada Class ( class template ).
Ø
Fungsi template adalah template yang diterapkan untuk fungsi,
dimana kode kode fungsi digunakan untuk beberapa tipe data yang berbeda. Template fungsi menggambarkan sebuah kumpulan fungsi sejenis yang
hanya dibedakan oleh tiap argument dan nilai balik.Definisi fungsi template
mirip dengan definisi fungsi biasa, hanya saja tipe parameter diberi nama
secara simbolik. Sedangkan Class template
adalah template yang diterapkan pada kelas dimana kumpulan class yang hanya
dibedakan oleh tipenya seperti tipe numeris dan char, pointer dan kombinasinya.
Ø Pada program pertama dibuat template kelas dengan
parameter T. Sedangkan pada
program kedua dibuat sebanyak 4 template kelas dengan parameter T.
BAB V
DAFTAR PUSTAKA
( Diakses pada Minggu, 24 Mei 2015 jam 20:03 WIB )
( Diakses pada Minggu, 24 Mei 2015 jam 22:12 WIB )
( Diakses pada Minggu, 24 Mei 2015 jam 23:14 WIB )
http://sipemalas.wordpress.com/2009/05/16/sedikit-tentang-template-c/.
( Diakses pada Minggu, 24 Mei 2014. Jam 19.05 WIB )
BAB VI
LAMPIRAN
a. Coding program
pertama
b. Output program pertama
a. Coding program tugas
b. Output program tugas
Komentar
Posting Komentar