11 CLASS
10.1 KELAS DAN STRUKTUR Kelas merupakan struktur data dari objek. Untuk menjelaskan tentang kelas, akan kita bandingkan bentuk antara struktur dan kelas. Suatu kelas (class) merupakan suatu metode logis untuk mengorganisasikan data dan fungsi di dalam struktur yang sama. Suatu kelas tidak terlepas dari pada suatu objek. Objek merupakan penerjemahan dari subgroup-subgroup sehingga menjadi unit-unit. Suatu objek di dalam c++ merupakan suatu kode program untuk memanipulasi data. Pendeklarasian suatu kelas hampir sama dengan pendeklarasian suatu structure, yaitu sebagai berikut: Bentuk Umum : class nama_class { Data elemen_class ; Data elemen_class ; ..... Public : Data elemen_class ; Data elemen_class ; ….. }
nama_object;
BENTUK KELAS
STRUKTUR
class nama_class
struct nama_struct
{
{ private : anggota_data;
anggota_data; };
public : fungsi_anggota; };
Terlihat perbedaan antara kelas dan struktur, yaitu :
PERBEDAAN KELAS Terdapat anggota data dan fungsi anggota. Anggota data biasanya berupa variabel dan fungsi anggota biasanya berupa fungsi. Terdapat kata-kata kunci private dan public yang menentukan hak akses bagi anggota-anggota di dalam kelas.
Private dapat digunakan di dalam kelas untuk memproteksi anggotaanggota tertentu dari kelas, agar tidak dapat diakses dari luar kelas secara langsung. Private merupakan default dari kelas.
Public mengizinkan anggota-anggota yang berada didalamnya bebas di akses dari luar kelas STRUKTUR
Hanya terdapat anggota data Hak akses pada struktur sama seperti hak akses public pada kelas
Contoh deklarasi:
Nama Class
Class motor { char merk [50] ; char jenis [35] ; float harga ; int stok ; ];
motor sport ; Pendefinisikan Object
Pernyataan diatas digunakan untuk mendefinisikan variable bernama sport. Pada C++ variable seperti sport berkedudukan sebagai variable kelas yang disebut dengan objek.
Pada sebuah kelas, item-item di dalamnya bisa bersifat private atau public. Secara default, semua item di dalam kelas bersifat private. Jadi tanpa menuliskan kata kunci private, semua item di dalam teks sudah private.
10.2 KELAS SECARA UMUM Konsep penggabungan data dan fungsi seperti diatas disebut encapsulasi, yang diterapkan dalam C++ dengan tipe turunan. Contoh Kelas :
1. Fungsi didefinisikan di dalam kelas #include
#include <string.h> class penduduk { private: int id; char nama[80]; public: void tampilkan(void) { cout<<”No. KTP : “<
: “<
} void set(int idn, char *n) { id = idn;
strcpy(nama,n); } }; void main() { penduduk saya; saya.set(1234,”Andi”); saya.tampilkan(); }
2. Fungsi anggota didefinisikan diluar kelas #include #include <string.h> class penduduk { private: int id; char nama[80]; public: void tampilkan(); void set(int idn, char *n); }; void main() { penduduk saya; saya.set(1234,”Andi”); saya.tampilkan(); } void penduduk :: tampilkan(void) { cout<<”No. KTP : “<
cout<<”Nama
: “<
} void penduduk :: set(int idn, char *n) { id = idn; strcpy(nama,n); }
Keluaran kedua contoh diatas sama saja, yaitu : No. KTP : 1234 Nama
: Andi
Penjelasan : Saya merupakan objek dari class penduduk. Pada contoh 2 fungsi didefinisikan diluar, oleh karena itu pada pendefinisian fungsi harus memiliki bentuk : tipe_return_fungsi nama_kelas :: nama_fungsi (parameter) Hal ini untuk memberitahu kompiler bahwa fungsi tersebut merupakan anggota dari kelas
nama_kelas.
Simbol
(
::
)
merupakan
operator
resolusi
lingkup.
10.3 PEMAKAIAN CLASS Pemakaian Class dapat digunakan dengan modifikasi bersama array dan fungsi.
a. Publik pada Kelas Publik (public) menyatakan bahwa deklarasi variable atau item-item yang ada di dalam kelas dapat diakses dari luar kelas. Contoh program class : #include #include main() { class kereta {
public: int no, jum; char nama[10],jur[15],kls[10]; float hrg,jumbay; }; clrscr(); kereta train; cout<<"Nomor Kereta : "; cin>>train.no; cout<<"Nama Kereta : "; cin>>train.nama; cout<<"Kota Tujuan : "; cin>>train.jur; cout<<"Kelas Kereta : "; cin>>train.kls; cout<<"Harga Tiket : "; cin>>train.hrg; cout<<"Jumlah Penumpang : "; cin>>train.jum; train.jumbay=train.hrg*train.jum; clrscr(); cout<<"Nomor kereta : "<
b. Class dan Array Contoh program class dengan array : #include #include class krj {
public: int nik; char nama[20]; int jam;
};
main() { krj pgw[10]; int n,i; cout<<"Jumlah Data : "; cin>>n; for(i=1;i<=n;i++) { cout<<"=========================="<<endl; cout<<"Program Hitung Lembur Karyawan"<<endl; cout<<"=========================="<<endl; cout<<"Data ke
: "<
cout<<"NIK
: "; cin>>pgw[i].nik;
cout<<"Nama
: "; cin>>pgw[i].nama;
cout<<"Jumlah Jam lembur : "; cin>>pgw[i].jam; cout<<"=========================="<<endl; } return 0; }
c. Class dan Fungsi Contoh program class dan fungsi : #include #include #include <string.h> main() { char ket[15]; float nilai; class mhs { public: char nim[8],nama[20]; }; clrscr();
mhs umb; cout<<"Masukkan nim : "; cin>>umb.nim; cout<<"Masukkan nama : "; cin>>umb.nama; cout<<"Masukkan nilai : "; cin>>nilai; if(nilai>65) strcpy(ket,"Lulus"); else strcpy(ket,"Tidak lulus"); clrscr(); cout<<"Nim anda : "<
Latihan: 1. Buatlah program dengan menggunakan kelas dengan fungsi yang di definisikan di dalam kelas, dengan tampilan sebagai berikut: NIM
: 1234
Nama
: Andi
Jurusan
:Teknik Informatika
Alamat
: Meruya Selatan
2. Buatlah program dengan menggunakan kelas dengan fungsi yang di definisikan di luar kelas, dengan tampilan sebagai berikut: Merek
: Honda GL Pro
Tahun
: 2007
No Polisi
: B1669OK
Warna
: Hitam