bab 2 c++ pbo fungsi
TRANSCRIPT
18
BAB II
FUNGSI
2.1. TUJUAN
Tujuan pembelajaran dalam bab ini yaitu:
1. Mengetahui pengertian tentang berbagai jenis fungsi.
2. Memahami cara-cara memberi fungsi.
2.2. DASAR TEORI
Sebuah fungsi pada C++ umumnya berisi sejumlah pernyataan C++
yang dikemas dengan sebuah nama. Selanjutnya nama ini dapat dipanggil
beberapa kali dalam suatu kode C++. Salah satu fungsi yang sering kita
libatkan dalam aplikasi berbasis konsol yaitu main(). Di dalam fungsi
tersebut kita biasa menuliskan sejumlah pernyataan.
Suatu fungsi secara umum mempunyai dua buah komponen utama,
yaitudefinisi fungsi dan tubuh fungsi. Definisi fungsi berisi dengan tipe dari
fungsi, nama dari fungsi dan argumen-argumennya jika digunakan. Tubuh
fungsi berisi dengan statemen-statemen yang akan melakukan tugas yang
akan diberikan kepada fungsi yang bersangkutan.
2.3. ANALISA PRAKTIKUM
2.3.1. Fungsi Secara Inline
Untuk fungsi secara inline, kita dapat membuatnya sebagai berikut :
//untuk no 1,2,3,4 dan seterusnya hanya merupakan no untuk
keterangan kode
#include<iostream.h>
#include<conio.h>
#include<string.h>
1. class buku
{
19
2. private:
3. char judul[35];
4. char pengarang[25];
5. int jumlah;
6. public:
7. void inisialisasi
8. (char*Judul, char*Pengarang, int Jumlah)
{
9. strcpy(judul, Judul);
10. strcpy(pengarang, Pengarang);
11. jumlah=Jumlah;
}
12. void info()
{
13. cout<<"Judul : "<<judul<<endl;
14. cout<<"Pengarang : "<<pengarang<<endl;
15. cout<<"Jumlah buku :
"<<jumlah<<endl<<endl<<endl;
}
};
16. void main()
{
17. clrscr();
18. buku novel, fiksi;
19. novel.inisialisasi("Meriam Benteng
Navarone","Alistair Maclean",12);
20. fiksi.inisialisasi("Jurassic
Park","Michael Crichton",3);
21. novel.info();
20
22. fiksi.info();
23. getche();
}
Dan hasil eksekusinya adalah :
Keterangan :
1. Pada script no.1 mendeklarasikan buku sebagai kelas
2. Pada script no. 2 untuk menyatakan hak akses secara khusus
3. Pada script no. 3 hingga 5 adalah bagian dari objek buku dimana
char untuk bilanngan karakter dan int atau integer untuk bilangan
bulat.
4. Pada script no. 6 untuk memberikan hak akses secara umum.
5. Script no. 7 berfungsi untuk menyatakan pengubahan.
6. Pada script no. 8 hingga 10 merupakan inputan atau masukan
pada hasil eksekusi nanti.
7. Script no. 11 berfungsi sebagai info dalam hal ini jumlah.
8. Script no. 12 berfungsi sebagai fungsi info.
9. Script no. 13 hingga 15 berfungsi sebagai perintah untuk
menampilkan data hasil eksekusi.
10. Script no. 16 adalah fungsi utama program.
11. Script no. 17 untuk membersihkan layar
Gambar 2.1. Hasil eksekusi fungsi secara inline.
21
12. No. 18 berfungsi untuk mendeklarasikan Novel masuk kedalam
kelas Buku.
13. No. 19 dan 20 untuk menginisialisasi novel dan fiksi.
14. No. 21 dan 22 untuk memanggil fungsi inisialisasi dari novel
dan fiksi.
15. No. 23 getche();bermaksud untuk fungsi balik program
dalam borland c++ dan jika memakai turbo c++ getche()tidak
diperlukan.
2.3.2. Fungsi Secara Outline
Jika dijadikan fungsi secara tidak inline, maka hasilnya akan seperti
berikut :
//untuk no 1 dan 2 hanya merupakan no untuk keterangan kode
#include<iostream.h>
#include<conio.h>
#include<string.h>
class buku
{
private:
char judul[35];
char pengarang[25];
int jumlah;
public:
void inisialisasi(char*Judul,
char*Pengarang, int Jumlah);
void info();
};
void main()
22
{
clrscr();
buku novel, fiksi;
novel.inisialisasi("Meriam Benteng
Navarone","Alistair Maclean",12);
fiksi.inisialisasi("Jurassic
Park","Michael Crichton",3);
novel.info();
fiksi.info();
}
void buku::inisialisasi 1
(char*Judul,char*Pengarang,int Jumlah)
{
strcpy(judul, Judul);
strcpy(pengarang, Pengarang);
jumlah=Jumlah;
}
void buku::info() 2
{
cout<<"Judul : "<<judul<<endl;
cout<<"Pengarang : "<<pengarang<<endl;
cout<<"Jumlah buku :
"<<jumlah<<endl<<endl<<endl;
getch();
}
Dan hasilnya adalah sebagai berikut :
23
Keterangan :
1. Pada script no. 1 berfungsi menginisialisasikan buku secara
outline dengan menggunkan operator resolusi.
2. Pada script no. 2 berfungsi mengakses fungsi info pada class
buku dengan operator resolusi.
2.4. KESIMPULAN
1. Untuk fungsi private hanya dapat diakses dalam kelas.
2. Sedangkan untuk public dapat diakses secara umum.
3. Untuk perubahan dari inline ke outline digunakan operator resolusi
include.
Gambar 2.2. Hasil eksekusi fungsi secara outline.