ALGORITMA DAN PEMROGRAMAN 2
3 SKS
By : Sri Rezeki Candra Nursari
MATERI Teks/string Pointer File Struktur Kelas/Class Konstruktor dan Destruktor • Kelas dan Obyek • • • • • •
Overloading Operator Inheritance (Pewarisan) Polimorfisme Template Fungsi dan Kelas • Sort • Search • • • •
CLASS Pertemuan 05
3 SKS
Pendahuluan Class • Class merupakan struktur data dari objek • Sebuah class (kelas) yang menyerupai struktur dapat dibuat dengan menggantikan kata struct dengan class • Persamaan struktur dengan kelas, pada cara mendeklarasikan, mendefinisikan dan cara akses • Sedangkan perbedaan struktur dengan kelas adalah kelas mempunyai access specifier (penentu akses), sedangkan struktur tidak mempunyai access specifier (penentu akses)
Struktur vs Kelas/Class Persamaan : • Cara deklarasi struct cthStruct { int b; ........ };
• Cara definisi variabel/objek cthStruct x;
• Cara akses x.a = 22;
• Cara deklarasi class cthClass { int b; ........ };
• Cara definisi variabel/objek cthClass x;
• Cara akses x.a = 22;
Struktur vs Kelas/Class Perbedaan : struct cthStruct { int b; ........ };
class cthClass { public; int b; ........ };
Kelas/Class • Kelas digunakan untuk mendefinisikan obyek • Contoh : tipe data digunakan untuk mendefinisikan variabel • Obyek melingkupi anggota data dan fungsi anggota • Nama kelas biasanya dimulai dengan huruf besar • Pendefinisian Kelas: • Pendefinisian obyek: NamaKelas Nama_Obyek
Penentu Akses (Access Specifier) • Digunakan untuk menentukan anggota data atau fungsi anggota mana yang boleh diakses dan oleh siapa • Ada 4 macam penentu akses(access specifier)/level access modifier: – Public – Default – Private – Protected
Penentu Akses (Access Specifier) • Public – Bisa diakses dari luar kelas (bersifat global) – Maka semua class yang lain dapat melihat class tersebut – Dapat melakukan import, instansiasi, extends, dan memanggil method yang ada dalam class
• Default – Maka hanya class dari package yang sama atau class turunannya yang dapat melihat class tersebut
Penentu Akses (Access Specifier) • Private – Hanya bisa diakses dari dalam kelas (bersifat lokal) – Hanya dapat digunakan oleh inner class saja, sedangkan class lain tidak dapat ditandai sebagai private
• Protected – Sama dengan Private dan bisa diakses oleh kelas-kelas turunan – Class tidak dapat dideklarasikan sebagai protected
Penentu Akses Public • Dengan menggunakan penentu akses publik, anggota data dan fungsi anggota bisa diakses dari luar kelas • Contoh : class Buku { public: char judul[30]; ................. }
Penentu Akses Private • Digunakan untuk memproteksi anggotaanggota tertentu pada kelas agar tidak bisa diakses secara langsung dari luar kelas • Biasanya yang menggunakan penentu akses private adalah anggota data • Biasa digunakan pada kelas untuk memproteksi anggota-anggota tertentu pada kelas, agar tidak dapat diakses di luar kelas secara langsung
Penentu Akses Private • Penentu akses private adalah nilai default sehingga kalau penentu akses tidak ditentukan, maka dianggap menggunakan penentu akses private • Contoh : class Buku { private: char judul[30]; ................. }
Fungsi Anggota • Ada dua macam cara penulisan fungsi anggota. • Cara 1 : Fungsi didefinisikan didalam kelas
Fungsi Anggota
Cara 2 : prototipe fungsi dideklarasikan dalam kelas, definisi fungsi diletakkan diluar kelas dibawah fungsi main()
Class vs Object • Object adalah instansiasi dari sebuah class • Class itu sebagai sebuah cetakan sedangkan object itu adalah barang dari hasil cetakan • Class juga dapat dikatakan sebagai kategori, sedangkan object adalah sesuatu yang memuhi syarat-syarat yang harus dipenuhi agar masuk dalam kategori tersebut
Class vs Object • Jadi satu class dapat mempunyai banyak object • Setiap object mempunyai sifat yang sama persis seperti yang didefinisikan dalam class tersebut • Contoh : Mendefinisikan beberapa obyek MtKuliah Jur_IT, Jur_TI; MtKuliah DtMtKuliah[22];
Menyalin Isi Obyek • Kedua obyek harus berasal dari kelas yang sama • Contoh JurIT = JurTI;
• Isi obyek JurIT sama dengan isi obyek Jur_TI • Jika dalam suatu kelas terdapat anggota data berupa pointer, maka penyalinan isi obyek berbentuk : Obyek2 = Obyek1;
Struktur Contoh Soal 01: Perintah menampilkan struktur buku dengan 3 attribut/field (Judul, Pengarang dan Jumlah Buku yang tersedia)
Program contoh 01
Algoritma.........????? Pseudocode.......??????
Kelas Contoh Soal 02: Perintah menampilkan obyek komik dari class buku dengan 3 attribut/field (Judul, Pengarang dan Jumlah Buku yang tersedia) Menggunakan penentu akses public
Program contoh 02
Algoritma.........????? Pseudocode.......??????
Kelas Contoh Soal 03: Perintah menampilkan obyek komik dari class buku dengan 3 attribut/field (Judul, Pengarang dan Jumlah Buku yang tersedia) Menggunakan penentu akses private
Program contoh 03
Algoritma.........????? Pseudocode.......??????
Kelas Contoh Soal 04: Perintah menampilkan obyek komik dari class buku dengan 3 attribut/field (Judul, Pengarang dan Jumlah Buku yang tersedia) Menggunakan fungsi anggota dengan format kelas::data
Program contoh 04
Algoritma.........????? Pseudocode.......??????
TUGAS • Buat kelompok dengan anggota sebanyak 3 orang Berdasarkan Contoh Soal 02, 03,04: Buat dengan data diinput???