Konsep Pemrograman Berorientasi Objek Nyimas Artina Arfansyah, S.Kom, M.Si
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.
Class dan Object Class adalah blueprint atau prototype dari objek- objek tertentu yang memiliki kesamaan variable dan method. Class merupakan template untuk sekumpulan objek dengan fitur yang sama. Class masih bersifat abstrak Object atau instance of class merupakan representasi nyata dari class.
Class dan Object Analogi Class Object
Class dan Object Class pohon mendeskripsikan fitur yang dimiliki oleh semua pohon (memiliki akar, daun, tumbuh, dst) Class pohon berfungsi sebagai model abstrak tentang konsep pohon. Dari Class pohon tsb, anda dapat membuat berbagai pohon yang masing-masing bisa memiliki fitur berbeda (pendek, tinggi, berdaun lebat, dst) tetapi tetap dikenali sebagai pohon. Instance dari suatu class adalah kata lain dari objek aktual. Instance adalah representasi kongkrit dan spesifik dari kelas. Objek dan instance adalah sama.
Class dan Object Object Oriented Programming Istilah-istilah pada OOP : State and behaviour Abstraction Encapsulation Inheritance (Pewarisan) Polymorphysm 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 Pemrograman berorientasi objek menggunakan model pembentukan sistem dimana komponen sistem (objek) seringkali terbentuk dari objek-objek lain yang lebih kecil.
Komponen Objek Setiap objek memiliki suatu keadaan (state) dan behaviour yang dapat mengubah state tersebut State merupakan suatu identitas dari objek Setiap barang memiliki nama, harga, jenis, dst Diimplementasikan sbg 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 : Manusia State : umur, tinggi, berat badan Behaviour : makan, tidur, bekerja
Sifat Object oriented Programming (OOP) ABSTRACTION (Abstraksi) Konsep penyembunyian detail program/proses yang sangat rumit sehingga kita tidak perlu mempermasalahkan pembuatannya. Misnya : 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 mengabstrasikan cara pembuatannya. ENCAPSULATION (Enkapsulasi/Pembungkusan) Konsep penggabungan antara data-data (data members) dan fungsi-fungsi (member functions) yang berkaitan dengan objek. CLASS Data members Member Functions
Sifat Object oriented Programming (OOP) INHERITANCE (Pewarisan) 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) Misnya : 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. Base Class BINATANG MAMALIA REPTIL Class Turunan Class Turunan
Sifat Object oriented Programming (OOP) Polymorphism (Polimorfisme) bahasa Yunani banyak 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.
Konsep OOP pewarisan Contoh instance/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
Syntaks Class Syntaks Class : class nama_class { access_specifier; Hak akses terhadap data_members atau member_functions Access specifier : Private Hanya dapat diakses oleh class yang bersangkutan. Public Dapat diakses oleh class yang bersangkutan dan class turunannya maupun lingkungan luar. Protected Dapat diakses oleh class yang bersangkutan dan class tururunannya tetapi tidak oleh lingkungan luat Syntaks Class : class nama_class { access_specifier; data_members; member_functions; };
Contoh Class #include<iostream> #include<string> using namespace std; class buku { private : string judul; string pengarang; int jumlah; public : void setbuku(string judul1,string pengarang1, int jumlah1) { judul=judul1; pengarang=pengarang1; jumlah=jumlah1; } void getbuku() cout<<"Judul BUKU : "<<judul<<endl; cout<<"Pengarang : "<<pengarang<<endl; cout<<"Jumlah : "<<jumlah<<endl; };
Contoh Class system("pause"); } void main() { buku Novel; cout<<"BUKU"<<endl; Novel.garis(); Novel.setbuku("Harry Potter","J.K Rowling",12); Novel.getbuku(); Novel.setbuku("New Moon","Stephenie Meyer",18); system("pause"); }
Thank You!