Your SlideShare is downloading. ×
Pengantar Pemrograman Berorientasi Objek
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Pengantar Pemrograman Berorientasi Objek

1,064

Published on

Pengantar Pemrograman Berorientasi Objek

Pengantar Pemrograman Berorientasi Objek

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,064
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
62
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Pengantar Pemrograman Berorientasi Objek -STRUKTUR DATA- Muhammad Riza Hilmi, ST. rizahilmi@gmail.com
  • 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. 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. 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. 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. 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. 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. 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. 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. Metodologi PBO • Terdapat 3 (tiga) metodologi dasar PBO yaitu : 1. Pemodulan/pengkapsulan (encapsulation) 2. Penurunan/pewarisan (Inheritance) 3. Polimorfisme (Polimorphism)
  • 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. 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. 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. 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. 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. 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. 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. 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; } };

×