2. Struktur Class
Kelas merupakan stuktur data dari Obyek (obyek merupakan elemen dasar pemrograman
berorientasi obyek). Mari kita lihat perbandingan antara stuktur dan class karena struktur mempunyai
persamaan dengan class:
#include <iostream.h>
#include <conio.h>
#include <string.h>
struct buku
{
char judul[35];
char pengarang[25];
int jumlah;
};
Void main()
{
Clrscr()
Buku novel; // pendefinisian variabel
Strcpy(novel.judul, “Meriam Benteng Navarone”);
Strcpy(novel.pengarang, “Alistair Maclean”);
Novel.jumlah = 12;
Cout<<novel.judul<<endl;
Cout<<novel.pengarang<<end;
Cout<<novel.jumlah<<endl;
}
3. • Pada contoh diatas terdapat struktur bernama buku, yang dideklarasikan sebagai
berikut:
struct buku
{
char judul[35];
char pengarang[25];
int jumlah;
};
Sebuah kelas yang menyerupai stuktur di atas dapat di buat dengan menggantikan kata
Struct dengan class, seperti terlihat di bawah ini:
Class buku
{
char judul[35];
char pengarang[25];
int jumlah;
};
Setelah class diatas dideklarasikan kelas tersebut dapat di pakai sebagai tipe data bagi
penciptaan variabel dengan:
Buku novel;
Digunakan untuk pendefinisian variabel bernama novel yang biasa disebut obyek
4. Kata kunci class mengawali pendeklarasian kelas
Class buku Nama kelas
{
char judul[35]; Nama anggota data
char pengarang[25]; Nama anggota data
int jumlah; Nama anggota data
}; Deklarasi kelas diakhiri dengan titik koma
Buku novel;
Obyek
5. #include <iostream.h>
#include <conio.h>
#include <string.h>
Class Buku
{
char judul[35];
char pengarang[25];
int jumlah;
};
Void main()
{
Clrscr()
Buku novel; // pendefinisian variabel
Strcpy(novel.judul, “Meriam Benteng Navarone”);
Strcpy(novel.pengarang, “Alistair Maclean”);
novel.jumlah = 12;
Cout<<novel.judul<<endl;
Cout<<novel.pengarang<<end;
Cout<<novel.jumlah<<endl;
}
6. Penggunaan Public
Agar program dapat di kompilasi kata kunci public diikuti dengan tanda titik
dua(:) di tambahkan diatas anggota data bernama judul kelas buku di tulis
menjadi :
Class buku
{
public: Tambahan
char judul[35];
char pengarang[25];
int jumlah;
};
Baris public menyatakan bahwa yang berada di bawahnya bersifat publik(dapat
diakses di luar kelas)
7. Penggunaan Private
Penentu akses private digunakan pada kelas untuk memproteksi angota-
anggota tertentu pada kelas agar tidak dapat diakses di luar kelas secara
langsung . Untuk melihat efek private gantilah kata kunci public menjadi
private :
Class buku
{
private: Perubahan
char judul[35];
char pengarang[25];
int jumlah;
};
Kata kunci private diatas dapat juga ditiadakan menjadi
Class buku
{
char judul[35];
char pengarang[25];
int jumlah;
};
Mengingat default dari kelas adalah private
Private pada kelas dapat diibaratkan dengan suatu klub yang hanya diperuntukkan bagi para
anggotanya saja. Semua fasilitas klub dapat diakses oleh anggota tetapi tidak berlaku bagi orang
luar
8. Menambahkan Fungsi Anggota
Konsep obyek pada C++ sebenarnya digunakan untuk menyatukan data dan
fungsi yang mengakses data dalam suatu wadah.
Data yang terdapat dalam kelas disebut anggota data dan fungsi yang terletak
di dalam kelas disebut fungsi anggota.
Anggota
data
Fungsi
anggota
Obyek
9. Konsep obyek diatas berbeda dengan program konvensional (bukan
berorientasi (OOP) yang memisahkan data dengan fungsi dimana data
diperlakukan sebagai komponen kelas kedua sedangkan fungsi
berkedudukan sebagai komponen utama. Pada pemrograman
berorientasi obyek data dan fungsi harus dirancang secara bersamaan.
Misalnya bila terdapat data :
•Judul buku
•Nama pengarang
•Jumlah buku
Diawal perancangan harus dipikirkan fungsi-fungsi dasar yang
digunakan untuk mengakses ketiga data tersebut dapat berupa :
•Mengisikan data
•Menampilkan data
Kemudian perlu direncanakan data atau fungsi mana saja yang boleh
diakses di luar obyek dan yang hanya dipergunakan secara internal
oleh obyek itu.
10. Class buku Nama kelas
{
private:
char judul[35];
…… Anggota data
public:
void ininsialisasi(…)
{
…
} Fungsi Anggota
Void info()
{
…
}
};
11. #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)
{
strcpy(judul, Judul);
strcpy(pengarang, Pengarang);
jumlah = Jumlah;
}
void info()
{
cout<<“Judul :”<<judul<<endl;
cout<<“Pengarang :”<<pengarang<<endl;
cout<<“Jumlah buku :”<<jumlah<<endl;
}
};
Void main()
{
Clrscr()
Buku novel; // pendefinisian Obyek
Novel.inisialisasi(“Meriam Benteng Navarone”,”Alistair Maclean”,12;
Novel.info();
}
12. Mendefinisikan beberapa Obyek
Beberapa obyek dengan kelas sama dapat di definisikan sebagaimana
pendefinisian variabel biasa( bukan Obyek). Misalnya:
Buku novel, fiksi;
Merupakan pernyataan untuk mendefinisikan obyek bernama novel dan fiksi.
Kelasnya sama yaitu buku. Tampak kelas mendahului nama-nama obyek.
13. #include <iostream.h>
#include <conio.h>
#include <string.h>
Class buku
{
private:
char judul[35];
char pengarang[25];
int jumlah;
public:
void inisialisai(char *judul, char *pengarang,int jumlah)
{
strcpy(judul, Judul);
strcpy(pengarang, Pengarang);
jumlah = Jumlah;
}
void info()
{
cout<<“Judul :”<<judul<<endl;
cout<<“Pengarang :”<<pengarang<<endl;
cout<<“Jumlah buku :”<<jumlah<<endl;
}
};
Void main()
{
Clrscr()
Buku novel, fiksi; // pendefinisian Obyek memberi nilai terhadap kedua obyek
Novel.inisialisasi(“Meriam Benteng Navarone”,”Alistair Maclean”,12;
Fiksi.inisialisasi(“Jurasic Park”,”Michael Crichton”,3);
Novel.info();
Fiksi.info
}
14. Penugasan Nilai antar Obyek
C++ memungkinkan penyalinan nilai obyek dapat dilakukan dengan mudah,
yaitu cukup dengan operator sama dengan (=) sebagai contoh dua buah obyek
berkelas buku di ciptakan melalui pernyataan:
Buku novel, fiksi;
Dengan menggunakan penyataan:
Fiksi=novel;
Maka semua anggota data pada obyek fiksi akan diisi sesuai dengan anggota
data pada obyek novel.
15. TUGAS Ubahlah bentuk stuct di bawah ini kelam bentuk kelas :
#include <iostream.h>
#include <conio.h>
Void main()
{
struct data_tanggal
{
int tahun;
int bulan;
int tanggal;
};
data_tanggal.tanggal_lahir;
tanggal_lahir.tanggal= 1;
tanggal_lahir.bulan = 9;
tanggal_lahir.tahun = 1964;
Cout<<tanggal_lahir.tanggal<<‘/’
<<tanggal_lahir.bulan<<‘/’
<<tanggal_lahir.tahun<<endl;
}