12.Objek S. Indriani L, M.T 12. Objek.

Slides:



Advertisements
Presentasi serupa
Fungsi Konsep Pemrograman.
Advertisements

Deklarasi Class Kelas pada Java dideklarasikan dengan menggunakan kata kunci class. Contoh : class Mobil { String warna; int thn_prod; } Mobil Data :
PERTEMUAN VIII POINTER
Polymorphism Suatu fungsi anggota dari suatu class dapat dijadikan sebagai fungsi virtual Jika fungsi ini dideklarasikan kembali pada class turunan dan.
Fungsi Friend Dalam bahasa C++ kita dapat membuat suatu fungsi yang berada di luar kelas (class) dan dapat meng-ak-ses bagian private suatu kelas. Fungsi.
Inheritance (pewarisan)
// memerlukan default constructor
BAB III – CLASS (1) DIKTAT PBO Oleh: Adam Mukharil B. S.Kom.
Struktur.
Struktur.
Person 10Person Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’, dan tidak dapat diakses di luar fungsi (a)
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA
Class.
Fungsi.
PELATIHAN JAVA FUNDAMENTAL
Bagian 6 Pembahasan Kelas Dalam C++
POINTER (VAR.PENUNJUK)
Algoritma & Struktur Data Abstract Data Type Evangs Mailoa.
KONSTRUKTOR & DESTRUKTOR
PART 7 Array DOSEN : AHMAD APANDI, ST.
Friend. Adalah fungsi bukan anggota kelas yg dapat mengakses anggota kelas. Secara umum friend berguna jika terdapat suatu operasi yg hendak mengakses.
1 Pertemuan 9 Inheritance Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
PEMROGRAMAN SISTEM PERNYATAAN DASAR FUNGSI Pertemuan VI
OOP Java Minggu 2b Dasar OOP. Class (1) Deklarasi class : [ *] class { [ *] } Cat : [] = optional, * = repeat 0-N.
Linked List & POINTER Pertemuan POINTER
Universitas Respati Yogyakarta
INHERITANCE & POLIMORPHISME Pertemuan Inheritance
8. Pointer S. Indriani L, M.T 8. Pointer.
9. Struktur S. Indriani L., M.T 9. Struktur.
Access Modifier.
5. Fungsi S. Indriani L, M.T 5. Fungsi.
PEMROGRAMAN SISTEM FUNGSI
7. String S. Indriani L, M.T 7. String.
S. Indriani Lestariningati, M.T
Constructor dan Overloading
BAB ENCAPSULATION ( Enkapsulasi )
10. Kelas S. Indriani L, M.T.
MODIFIER JAVA.
S T R U K T U R.
2. Pengenalan Program C++
KELOMPOK 9 ROBBY SETIAWAN AKBAR BAI ALIM WASSAHUA
Constructor overloading
S. Indriani Lestariningati, M.T
Struktur.
Pointer Oleh : Sri Supatmi,S.Kom.
S. Indriani Lestariningati, M.T
METODE (2) SUSSI.
Pemograman Terstruktur
S. Indriani Lestariningati, M.T
S. Indriani Lestariningati, M.T
Membuat Kelas.
Fungsi Friend Dalam bahasa C++ kita dapat membuat suatu fungsi yang berada di luar kelas (class) dan dapat meng-ak-ses bagian private suatu kelas. Fungsi.
QUIS Algoritma Pemrograman I
Pemograman Terstruktur
Class.
6. Array S. Indriani L, M.T.
BAB VI – FRIEND (KHUSUS C++)
Pemograman Terstruktur
Pointer Oleh : Sri Supatmi,S.Kom.
13. Pewarisan S. Indriani L, M.T 12. Pewarisan.
DIKTAT PBO Oleh: Adam Mukharil B. S.Kom. BAB IV – CLASS (2)
CLASS.
S T R I N G.
Algoritma Struktur Data
Materi 9 Pembahasan CLASS Dalam C++
Konstruktor dan Destruktor
DIKTAT PBO Oleh: Adam Mukharil B. S.Kom. BAB III – CLASS (2)
Pemograman Lanjut M. Failrul Filza, S.Kom
(Object Oriented Programming)
Inheritance (pewarisan)
Transcript presentasi:

12.Objek S. Indriani L, M.T 12. Objek

Menambahkan fungsi anggota Konsep obyek dari C++ sebenarnya digunakan untuk menyatukan data dan fungsi yang mengakses data dalam satu wadah Obyek Data yang terletak di dalam kelas biasa disebut anggota data. Fungsi yang terletak didalamnya disebut fungsi anggota Anggota data Fungsi anggota

Misalnya, bila terdapat data: - judul buku - nama pengarang - jumlah buku di awal perancangan harus dipikirkan, fungsi-fungsi dasar yang digunakan untuk mengakses tiga data tersebut. Fungsi-fungsi yang dimaksud dapat berupa: mengisikan data menampilkan data Selain itu perlu juga direncanakan, data atau fungsi mana saja yang boleh diakses diluar obyek dan yang hanya dipergunakan secara internal oleh obyek itu sendiri.  dalam hal ini penentu akses public atau private yang menentukannya

#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; novel.inisialisasi("Meriam Benteng Navarone","Alistair", 12); novel.info();

Pada program, kelas Buku memiliki tiga buah anggota data class Buku { private: char judul[35]; … public: void inisialisasi(…) …. } void info {… }; Anggota data Fungsi anggota Pada program, kelas Buku memiliki tiga buah anggota data (judul, pengarang dan jumlah) dan dua buah fungsi anggota (inisialisasi () dan info()). Ketiga data anggota dinyatakan sebagai private. Oleh karena itu, ketiga data ini tidak dapat diakses diluar kelas. Namun data ini dapat diakses oleh kedua fungsi anggota dan semua fungsi anggota dapat diakses diluar kelas, mengingat dinyatakan sebagai public. Melalui kedua fungsi inilah data kelas dapat diakses, misalnya pada fungsi main().

Mendefinisikan beberapa objek Beberapa objek dengan kelas sama dapat didefinisikan sebagaimana pendefinisian variabel biasa (bukan objek). Misalnya: Buku novel, fiksi; Merupakan pernyataan untuk mendefinisikan obyek bernama novel dan fiksi. Kelasnya sama yaitu Buku. Nama kelas mendahului nama-nama objek. Perlu diketahui, jika terdapat lebih dari sebuah objek dan obyek- obyek tersebut mempunyai kelas yang sama, data anggota pada masing-masing obyek bersifat terpisah. Lihat program berikut ini:

#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, fiksi; novel.inisialisasi("Meriam Benteng Navarone","Alistair", 12); fiksi.inisialisasi("Harry Potter and the socerrer stone","J.K Rowling", 20); novel.info(); fiksi.info();

Penugasan Nilai Antar obyek C++ memungkinkan penyalinan nilai antar obyek dapat dilakukan dengan mudah, yaitu cukup menggunakan operator sama dengan (=). Sebagai contoh, dua buah obyek berkelas Buku diciptakan dengan melalui pernyataan: Buku novel, fiksi; Dengan menggunakan pernyataan: fiksi = novel; maka semua anggota data pada obyek fiksi akan diisi sesuai dengan anggota data pada obyek novel.

Fiksi = novel; judul pengarang jumlah Fungsi anggota Kelas sama Objek fiksi Objek novel Fiksi = novel;

#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, fiksi; novel.inisialisasi("Meriam Benteng Navarone","Alistair", 12); fiksi=novel; fiksi.info(); }

Alternatif penulisan fungsi anggota Cara mendefinisikan fungsi anggota sebenarnya ada dua macam: Cara yang pertama adalah fungsi anggota didefinisikan didalam deklarasi kelas. (sesuai dengan contoh didepan) Bentuk kedua, pada kelas hanya terdapat deklarasi fungsi anggota (prototipe), lihat contoh berikut.

Definisi fungsi anggota ditempatkan didalam kelas. class Buku { private: char judul[35]; char pengarang[25]; int jumlah; public: void inisialisasi(char *Judul, char *Pengarang, int Jumlah); void info(); }; Definisi kedua fungsi anggota pada kelas Buku ditulis menjadi: void Buku::inisialisasi(char *Judul, char *Pengarang, int Jumlah) { strcpy(judul, Judul); strcpy(pengarang, Pengarang); jumlah = Jumlah; } void Buku::info() cout<<"Judul :"<<judul<<endl; cout<<"Pengarang :"<<pengarang<<endl; cout<<"Jumlah Buku :"<<jumlah<<endl;

#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() { clrscr(); Buku novel; novel.inisialisasi("Meriam Benteng Navarone","Alistair", 12); novel.info(); } void Buku::inisialisasi(char *Judul, char *Pengarang, int Jumlah) { strcpy(judul, Judul); strcpy(pengarang, Pengarang); jumlah = Jumlah; void Buku::info() cout<<"Judul :"<<judul<<endl; cout<<"Pengarang :"<<pengarang<<endl; cout<<"Jumlah Buku :"<<jumlah<<endl;

Nilai balik fungsi anggota Apakah fungsi anggota selalu tidak mempunyai nilai balik? Fungsi anggota juga bisa mempunyai nilai balik class Tanggal { private: int tanggal; int bulan; int tahun; public: void beri_tanggal(int tanggal, int bulan, int tahun); int info_tanggal() { return tanggal; }; int info_bulan() { return bulan; }; int info tahun() { return tahun; }; };