Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

CLASS, OBJECT METHOD, PROPERTIES Object Oriented Programming

Presentasi serupa


Presentasi berjudul: "CLASS, OBJECT METHOD, PROPERTIES Object Oriented Programming"— Transcript presentasi:

1 CLASS, OBJECT METHOD, PROPERTIES Object Oriented Programming
Pertemuan 23 Object Oriented Programming CLASS, OBJECT METHOD, PROPERTIES Dasar Pemrograman Renni Angreni, S.Kom.

2 PENDAHULUAN Dalam konsep OOP, setiap entitas yang terlibat dalam pemrograman dianggap sebagai sebuah objek. Sasaran utama dalam konsep ini adalah kemudahan dalam pengembangan sistem. Sebuah aplikasi baru tidak harus dibangun dari nol, tetapi bisa dibangun dengan cara “meneruskan” aplikasi sebelumnya. Ilustrasi : Jika prosessor pentium 4 harus dibangun dari nol, berapa lama waktu yang dihabiskan, biaya yang dikeluarkan dan tenaga yang dikorbankan untuk itu? Adalah lebih efisien jika prosesor Pentium 4 dibangun berdasarkan rancangan Pentium 3 dengan perbaikan dan penambahan fitur.

3 Masalah dalam metode OOP adalah aplikasi yang dibangun berbasis OOP memerlukan memori dalam jumlah besar agar dapat menampung dan mengolah objek. Setiap objek akan menempati sejumlah area memori, dan kebutuhan ini akan terus bertambah seiring dengan kehadiran objek baru meskipun jenisnya sama dengan objek yang telah ada.

4 CLASS dan OBJECT Dalam OOP, dikenal istilah Class dan Object. Dalam bahasa Indonesia artinya kelas dan objek. Dalam OOP, program dibuat sedekat-dekatnya dengan dunia nyata. Misalkan program mengenai mobil, maka akan dibuat objek mobil. Dalam terminologi OOP (pemrograman berorientasi objek), objek (object) sebenarnya adalah anggota dari suatu kelas (class). Dengan kata lain, kelas adalah kumpulan dari beberapa objek yang sama. Contoh : ayam, sapi, kuda, kerbau, anjing adalah hewan. Dengan kata lain hewan disebut kelas / class, dan ayam, sapi, kuda, kerbau, anjing adalah objek.

5 Kelas sering disebut sebagai blueprint dari objek.
Jika dibandingkan dengan variabel, maka kelas merupakan tipe data, dan objek merupakan variabel. Dari satu kelas dapat dibuat banyak objek. Misalkan dari kelas mobil, dapat dibuat mobilToyota, mobilDaihatsu, mobilSuzuki, mobilHyundai, dll. Atau dari kelas pemain, dapat dibuat pemain1, pemain2, pemain3, pemain4, dst. Jadi, dalam OOP, programmer melakukan abstraction menghasilkan class dan objek dalam program. Saat sebuah objek dianalisa dan dikelompokkan, maka muncullah dua komponen utama dari sebuah objek, yaitu state dan behaviour. Serta empat sifat utama, yaitu abstraction, enkapsulasi, pewarisan, dan polymorphism.

6 Object Analogi Class : Pohon Object Object Object

7 METHOD dan PROPERTIES Setiap objek dapat memiliki properties dan method / state dan behavior / istilah lainnya. Properties adalah variabel anggota suatu objek. Misalkan mobilA.warna, mobilA.kecepatanMax, mobilA.merk, dll. Method adalah fungsi milik suatu objek. Method bisa mengembalikan nilai dari dalam objek (getter method), mengubah kondisi objek (setter method) atau berupa suatu static method (metode yang bisa dipakai. Setiap objek memiliki suatu ciri-ciri / keadaan (properties / state) dan fungsi (method / behaviour) yang dapat mengubah state tersebut.

8 State merupakan suatu identitas dari objek.
Setiap barang memiliki nama, harga, jenis, dll.. Diimplementasikan sebagai variabel atau field (data_members) Behaviour dapat diartikan sebagai kegiatan dari objek. Diimplementasikan dalam program sebagai proses / method (member_functions) State = kata benda Behaviour = kata kerja Contoh : Class : Manusia Objek : Tina, Siti, Toni, Iwan, Arief, Angel, dll State : umur, tinggi badan, berat badan Behaviour : makan, tidur, bekerja, berjalan

9 ABSTRACTION Proses pembentukan konsep dalam mengenali ciri-ciri tertentu suatu objek, dan menciptakan suatu konsep berdasarkan ciri tersebut. Konsep penyembunyian detail program / proses yang sangat rumit sehingga kita tidak perlu mempermasalahkan pembuatannya. Misalnya : Objek mobil terhadap sopir. Pembuat mobil tidak perlu mendefinisikan cara pembuatan mobil yang rumit. Yang penting bagi sopir adalah bagaimana mobil tersebut dapat digunakan sebagaimana mestinya. Dengan kata lain pembuat mobil mengabstraksikan cara pembuatannya.

10 ENCAPSULATION Encapsulation adalah suatu konsep mengenai penggabungan properties atau method ke dalam suatu objek. Suatu objek adalah seperti sebuah kapsul yang berisi berbagai macam obat-obatan di dalamnya. Ketika kita mendeklarasikan suatu objek, misalnya objek mobil, maka objek itu otomatis memiliki (misalkan) warna, kecepatanMax, kapasitas bensin, merk dan sebagainya. Dan mobil itu juga dapat mengisiBensin, maju, mundur, dihidupkan atau dimatikan.

11 Tujuan dari enkapsulasi adalah :
Mengelompokkan sejumlah data (properties) ke dalam objek. Melindungi properties dan method di dalam kelas agar tidak sembarangan diakses oleh kelas lain. Enkapsulasi juga berfungsi sebagai penyederhanaan. Misalkan, untuk maju, sebuah mobil harus menjalani proses mesin 4 tak (injeksi, kompresi, bakar, buang), tetapi pengendara hanya tinggal menginjak pedal gas saja.

12 INHERITANCE Konsep atau proses dalam pembuatan suatu class baru dimana class baru diturunkan dari class induk (Base Class). Class baru ini disebut dengan class turunan (Derived Class). Misalnya : Seorang anak pasti akan mewarisi beberapa sifat atau perilaku yang dimiliki oleh bapak dan ibunya. Begitu juga dalam sebuah pemrograman, suatu class dapat diturunkan menjadi beberapa sifat atau perilaku dari kelas induknya.

13 MANUSIA PRIA WANITA BINATANG MAMALIA REPTIL AMPHIBI
Base Class MANUSIA PRIA WANITA Class Turunan Class Turunan Base Class BINATANG MAMALIA REPTIL AMPHIBI Class Turunan Class Turunan Class Turunan

14 POLYMORPHISME Polymorphism (poly = banyak, morph = berubah bentuk).
Dalam OOP, konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah suatu objek melakukan suatu aksi / tindakan yang mungkin secara prinsip sama tetapi secara proses berbeda. Dalam konsep yang lebih umum, Polymorphism disebut dalam istilah satu interface, banyak aksi. contoh : Mobil, terdiri dari berbagai merk, namun semuanya memiliki interface kemudi yang sama (stir kemudi, tongkat transmisi, pedal gas dan rem). Jika anda dapat mengemudikan satu mobil saja, dapat dipastikan juga dapat mengemudi berbagai mobil.

15   pewarisan Contoh instance/objek  Gambar : Class & Objek
Class MANUSIA (STATE) berat tinggi usia (BEHAVIOUR) Makan() Minum() Menua() Bekerja() Class WANITA memiliki_organ_ kelamin_wanita melahirkan() menyusui() Class PRIA kelamin_pria pewarisan maria debra ruth david rudi robert Contoh instance/objek  Gambar : Class & Objek

16 ACCESS MODIFIER Access modifier mengatur pengaksesan suatu variabel.
Ada tiga jenis access modifier, yaitu : private (hanya bisa diakses oleh fungsi yang ada di dalam class itu sendiri). public (bisa diakses dari manapun). protected (hanya bisa diakses dari fungsi di dalam kelas itu sendiri, atau fungsi di dalam kelas lain yang mewarisi kelas tersebut).

17 MEMBUAT CLASS dan OBJECT
Class sangat mirip dengan struktur, kecuali pada class, terdapat method, dan class memiliki sifat inheritance (pewarisan) dan polymorphism (morph = berubah bentuk, poly = banyak, polymorphism = berubah ke banyak bentuk).

18 Contoh Program dengan Struct
#include <iostream> #include <conio.h> #include <string> using namespace std; struct Buku { string judul; string pengarang; int jumlah; }; void main() Buku novel; novel.judul = "Rumah Beratap Bougenvile"; novel.pengarang = "Agnes Jessica"; novel.jumlah = 12; cout<<novel.judul<<endl; cout<<novel.pengarang<<endl; cout<<novel.jumlah<<endl; _getch(); }

19 Contoh Program dengan Class
#include <iostream> #include <conio.h> #include <string> using namespace std; class Buku { public: string judul; string pengarang; int jumlah; }; void main() { Buku novel; novel.judul = "Rumah Beratap Bougenvile"; novel.pengarang = "Agnes Jessica"; novel.jumlah = 12; cout<<novel.judul<<endl; cout<<novel.pengarang<<endl; cout<<novel.jumlah<<endl; _getch(); }

20 Contoh Program dengan Class
#include <iostream> #include <conio.h> #include <string> using namespace std; class manusia { private : string nama; int usia; int berat; int tinggi; public : void identitas(string a, int b, int c, int d) { nama = a; usia = b; berat = c; tinggi = d; } Lanjut …

21 … lanjut void cetak() { cout<<" “; cout<<endl; cout<<"Nama : "<<nama<<endl; cout<<"Usia : "<<usia<<endl; cout<<"Berat Badan : "<<berat<<endl; cout<<"Tinggi Badan : "<<tinggi<<endl; } }; void main() { manusia mhs; mhs.identitas("Michael", 22, 70, 185); mhs.cetak(); mhs.identitas("Zurich", 35, 61, 177); _getch();

22

23 Properties yang bersifat private tidak dapat diakses secara langsung pada fungsi main(). Untuk mengakses properties ini, biasa digunakan getter method dan setter method. Setter method berguna untuk mengeset nilai ke suatu properties / member private. Biasanya ditambahkan pengaturan khusus pada method ini. Pada contoh, identitas adalah setter method. Karena member private tidak bisa diakses dari luar kelas, maka disediakan method getter untuk mengakses member tersebut. Pada contoh, cetak adalah getter method.

24 METHOD di Luar CLASS Suatu method bisa didefinisikan di dalam kelas atau di luar kelas. Untuk mendefinisikan method di luar kelas, sintaxnya : class namaKelas { public: TipeData namaMethod(); }; TipeData namaKelas::namaMethod() { blok pernyataan / isi method; } Operator " :: " disebut operator ruang lingkup, berfungsi untuk menjelaskan lingkup identifier yang digunakan.

25 Contoh Program dengan Method di Luar Class
#include <iostream> #include <conio.h> #include <string> using namespace std; class manusia { private : string nama; int usia; int berat; int tinggi; public : void identitas(string a, int b, int c, int d); void cetak(); }; Lanjut …

26 … lanjut void manusia::identitas(string a, int b, int c, int d) {
nama = a; usia = b; berat = c; tinggi = d; } void manusia::cetak() cout<<" "<<endl; cout<<"Nama : "<<nama<<endl; cout<<"Usia : "<<usia<<endl; cout<<"Berat Badan : "<<berat<<endl; cout<<"Tinggi Badan : "<<tinggi<<endl;

27 … lanjut void main() { manusia mhs;
mhs.identitas("Michael", 22, 70, 185); mhs.cetak(); mhs.identitas("Zurich", 35, 61, 177); _getch(); }

28 Penugasan Antar Objek void main() { manusia mhs;
mhs.identitas("Michael", 22, 70, 185); mhs.cetak(); manusia mhs2; mhs2 = mhs; mhs2.cetak(); _getch(); }

29 LATIHAN Buatlah sebuah program C++ berisi sebuah kelas dengan nama Buku yang memiliki judul buku, nama pengarang, tahun terbit, jumlah halaman, dan jumlah buku serta method-method yang dibutuhkan untuk mengakses kelas itu, lalu tampilkan 3 buah objek dari kelas tersebut.

30 Buat suatu kelas dengan nama Keranjang yang memiliki properties nama pemilik, kapasitas keranjang, jumlah apel, jumlah jeruk, dan jumlah manggis. Tambahkan setter dan getter method seperlunya, lalu buatlah suatu method untuk menghitung sisa kapasitas keranjang dan menampilkan isi dari keranjang tersebut seperti tampilan di bawah ini : (Gunakan kelas dalam fungsi main).

31 Dari soal nomor (2) tambahkan lagi method untuk menghitung jumlah buah dan total yang harus dibayar.
Untuk harga apel 4500, jeruk 3500, dan manggis 2000. Jika jumlah buah apel >= 15 maka ada potongan sebesar 15000, Jika jumlah buah jeruk >= 15 maka potongan sebesar 12500, Jika jumlah buah manggis >= 15 maka potongan sebesar 7000, dan selain itu tidak ada potongan. Tampilkan seperti di bawah ini.

32 -- Sekian -- Dasar Pemrograman Renni Angreni, S.Kom.


Download ppt "CLASS, OBJECT METHOD, PROPERTIES Object Oriented Programming"

Presentasi serupa


Iklan oleh Google