Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Pengantar Pemrograman Berorientasi Objek

2,418 views

Published on

Pengantar Pemrograman Berorientasi Objek

Published in: Education
  • Be the first to comment

  • Be the first to like this

Pengantar Pemrograman Berorientasi Objek

  1. 1. Pengantar Pemrograman Berorientasi Objek -STRUKTUR DATA- Muhammad Riza Hilmi, ST. rizahilmi@gmail.com
  2. 2. Pengantar (1) • Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis, dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami. • Pemrograman Berorientasi Objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek, jadi semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek.
  3. 3. Pengantar (2) • Perbedaan keduanya adalah pada pemrograman berorientasi objek setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. • Sedangkan untuk pemrograman terstruktur adalah sebuah cara pemrosesan data yang terstruktur (sistematis) dalam analisa, cara dan penulisan pemrograman.
  4. 4. Pengantar (3) • Pemrograman terstruktur unggul dalam melakukan pemrograman sederhana karena lebih efisien dan lebih mudah dalam hal perawatannya. • Sementara itu pemrograman berorientasi objek memliki beberapa keuntungan seperti :  Maintenance, program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.  Pengubahan program (berupa penambahan atau penghapusan fitur tertentu) disesuaikan dengan keperluan berdasarkan objeknya.
  5. 5. Apa itu OOP? • Paradigma pemrograman yang memandang sistem yang akan dibangun berdasarkan objek objek yang terlibat dan interaksinya dalam sistem. • Sistem dibangun dengan membuat objek objek dan menginteraksikannya untuk menyelesaikan suatu pekerjaan. • Fungsi dan data menjadi satu kesatuan yang disebut sebagai Object • Program adalah serangkaian object yang berinteraksi untuk menyelesaikan suatu problem.
  6. 6. Pemrograman Berorientasi Objek • OOP berputar pada konsep dari obyek yang merupakan elemen dasar dari program. • Ilustrasinya adalah  Objek mobil mempunyai atribut tipe transmisi, warna dan manufaktur, mobil juga mempunyai tingkah laku berbelok, mengerem dan berakselerasi.  Cara yang sama pula kita dapat mendefinisikan perbedaan sifat dan tingkah laku dari singa.  Pada perangkat lunak, menggunakan atribut sebagai data dan tingkah laku sebagai method.
  7. 7. Class • Kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. • Class adalah suatu struktur dalam program yang berisi satu atau beberapa metode (dapat berupa fungsi dan/atau prosedur) dan atribut (dapat berupa data ataupun variabel yang akan dipoerasikan dalam metode). • Dengan demikian atribut merupakan anggota kelas yang bersifat statis, sedangkan metode merupakan anggota kelas yang bersifat dinamis.
  8. 8. Object • Setiap obyek dibangun dari sekumpulan data (atribut) yang disebut variabel untuk menjabarkan karakteristik khusus dari obyek, dan juga terdiri dari sekumpulan method yang menjabarkan tingkah laku dari obyek. • Bisa dikatakan bahwa obyek adalah sebuah perangkat lunak yang berisi sekumpulan variabel dan method yg berhubungan. • Sebuah obyek adalah sebuah instance (keturunan) dari class.
  9. 9. Perbedaan Class dan Object • Misal, kita memiliki sebuah class mobil dimana dapat digunakan untuk medefinisikan beberapa obyek mobil. Pada tabel dibawah, mobil A dan mobil B adalah obyek dari class mobil. Class memiliki field nomor, plat, warna, manufaktur dan kecepatan yang diisi dengan nilai pada obyek mobil A dan mobil B. Mobil juga dapat berakselerasi, berbelok dan melakukan rem. • Ketika diinisialisi, setiap obyek mendapat satu set variabel yang baru. Bagaimanapun, implementasi dari method dibagi diantara objek pada class yang sama. Class menyediakan keuntungan dari reusability. Programmer perangkat lunak dapat menggunakan sebuah kelas beberapa kali untuk membuat banyak objek.
  10. 10. Metodologi PBO • Terdapat 3 (tiga) metodologi dasar PBO yaitu : 1. Pemodulan/pengkapsulan (encapsulation) 2. Penurunan/pewarisan (Inheritance) 3. Polimorfisme (Polimorphism)
  11. 11. Pemodulan/pengkapsulan (encapsulation) • Pemodulan adalah metode untuk menggabungkan data dengan fungsi. Dalam konsep ini data dan fungsi digabung menjadi satu kesatuan yaitu kelas. • Konsep ini erat kaitannya dengan konsep penyembunyian informasi (information hiding). • Contoh : Mobil adalah sebuah kelas. Seorang pengendara mobil tidak harus tahu bagaimana proses kerja mesin mobilnya, pembakaran bahan bakar, proses pemindahan transmisi gigi, dan seterusnya. Yang dia tahu adalah bahwa setir untuk mengendalikan jalannya mobil, pedal gas untuk menambah kecepatan, pedal rem untuk mengurangi kecepatan, dan seterusnya. Singkatnya dia hanya tahu bahwa mobilnya berjalan dengan baik.
  12. 12. Penurunan/pewarisan (Inheritance) • Dari konsep penurunan ini suatu kelas bisa diturunkan menjadi kelas baru yang masih mewarisi sifat-sifat kelas orangtuanya. • Hal ini dapat dianalogikan dengan kelas manusia. Manusia merupakan turunan dari orang tuanya dan sifat-sifat orang tua diwarisi olehnya. • Bisa ditarik kesimpulan bahwa semua kelas di dunia selalu memiliki hirarki yang menggambarkan silsilah kelas tersebut.
  13. 13. Penurunan/pewarisan (Inheritance) • Contoh: Dari kelas kendaraan bermotor dapat diturunkan beberapa kelas baru, misalnya: sepeda motor, sedan, pick-up, mini-bus, dan kendaraan roda banyak.
  14. 14. Penurunan/pewarisan (Inheritance) • Contoh 2: kelas sepeda motor mungkin masih dibagi lagi menjadi dua kelas, yaitu sepeda motor 2 tak dan 4 tak. Sepeda motor 2 tak mungkin masih dibagi lagi menurut pabrik pembuatnya, seperti Honda, Suzuki, Yamaha, dan seterusnya. Masing-masing pabrik mungkin masih mempunyai beberapa kelas turunan lagi, seperti Honda Astrea Star, Honda Astrea Grand, dan seterusnya.
  15. 15. Keuntungan Pewarisan • Subclass menyediakan state/behaviour yang spesifik yang membedakan dengan superclass. • Memungkinkan programmer untuk menggunakan ulang source code dari superclass yang telah ada. • Programmer dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan tingkah laku dan state secara secara umum.
  16. 16. Polimorfisme (Polimorphism) • Polimorfisme berarti kelas-kelas yang berbeda tetapi berasal dari satu orang tua dapat mempunyai metode yang sama tetapi cara pelaksanaannya berbeda-beda. Atau dengan kata lain, suatu fungsi akan memiliki perilaku berbeda jika dilewatkan ke kelas yang berbeda-beda. • Contoh: kelas untuk input sound system. Sebuah tape recorder dan CD player memiliki tombol PLAY yang berfungsi untuk memainkan musik yang dikehendaki. Tape recorder mengimplementasikan tombol PLAY dengan membaca isyarat-isyarat yang terekam di pita magnetis kaset, sedangkan CD player menggunakan sinar laser untuk membaca bit-bit digital yang terekam di permukaan CD.
  17. 17. Bahasa Pemrograman Bahasa pemrograman yang mendukung OOP antara lain: • Visual Foxpro • Java • C++ • Pascal (bahasa pemrograman) • Visual Basic.NET • SIMULA • Smalltalk • Ruby • Python • PHP • C# • Delphi • Eiffel • Perl • Adobe Flash AS 3.0
  18. 18. Contoh dalam C++ # include <iostream.h> const int batas = 80; class pegawai // kelas induk { private: char nama [batas]; public: void getdata() { cout << endl << " Input Nama : "; cin >> nama; } void putdata() { cout << endl << " Nama : " << nama; } }; class manajer : public pegawai // kelas turunan { private: char bagian [batas]; double tunjangan; public: void getdata() { pegawai::getdata(); cout << " Input Bagian: “; cin >> bagian; } void putdata() { pegawai::putdata(); cout << "n Bagian : "<< bagian; } };

×