pengantar pemrograman berorientasi objek

18
Pengantar Pemrograman Berorientasi Objek Berorientasi Objek -STRUKTUR DATA- Muhammad Riza Hilmi, ST. [email protected]

Upload: wawanext01

Post on 04-Dec-2014

926 views

Category:

Education


4 download

DESCRIPTION

Pengantar Pemrograman Berorientasi Objek

TRANSCRIPT

Page 1: Pengantar Pemrograman Berorientasi Objek

Pengantar Pemrograman Berorientasi ObjekBerorientasi Objek-STRUKTUR DATA-

Muhammad Riza Hilmi, [email protected]

Page 2: Pengantar Pemrograman Berorientasi Objek

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.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.

Page 3: Pengantar Pemrograman Berorientasi Objek

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 • Sedangkan untuk pemrograman terstruktur adalah sebuah cara pemrosesan data yang terstruktur (sistematis) dalam analisa, cara dan penulisan pemrograman.

Page 4: Pengantar Pemrograman Berorientasi Objek

• 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

Pengantar (3)

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.

Page 5: Pengantar Pemrograman Berorientasi Objek

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 • 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.

Page 6: Pengantar Pemrograman Berorientasi Objek

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 sifatdan tingkah laku dari singa.

Cara yang sama pula kita dapat mendefinisikan perbedaan sifatdan tingkah laku dari singa.

Pada perangkat lunak, menggunakan atribut sebagai data dantingkah laku sebagai method.

Page 7: Pengantar Pemrograman Berorientasi Objek

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-fungsiyang menunjuk pada berbagai macamperilaku/turunan dari anjing.

• Class adalah suatu struktur dalam program yang • 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.

Page 8: Pengantar Pemrograman Berorientasi Objek

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

• Bisa dikatakan bahwa obyek adalah sebuah perangkat lunak yang berisi sekumpulan variabel dan method yg berhubungan.

• Sebuah obyek adalah sebuah instance (keturunan) dari class.

Page 9: Pengantar Pemrograman Berorientasi Objek

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.

Page 10: Pengantar Pemrograman Berorientasi Objek

Metodologi PBO

• Terdapat 3 (tiga) metodologi dasar PBO yaitu :1. Pemodulan/pengkapsulan (encapsulation)2. Penurunan/pewarisan (Inheritance)3. Polimorfisme (Polimorphism)

Page 11: Pengantar Pemrograman Berorientasi Objek

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 : • 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.

Page 12: Pengantar Pemrograman Berorientasi Objek

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 darimanusia. Manusia merupakan turunan dariorang tuanya dan sifat-sifat orang tua diwarisi olehnya.

• Bisa ditarik kesimpulan bahwa semua kelas di dunia selalu memiliki hirarki yang menggambarkan silsilah kelas tersebut.

Page 13: Pengantar Pemrograman Berorientasi Objek

• Contoh: Dari kelas kendaraan bermotor dapat diturunkan beberapa kelas baru, misalnya: sepeda motor, sedan, pick-up, mini-bus, dan kendaraan roda banyak.

Penurunan/pewarisan (Inheritance)

kendaraan roda banyak.

Page 14: Pengantar Pemrograman Berorientasi Objek

• 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.

Penurunan/pewarisan (Inheritance)

Page 15: Pengantar Pemrograman Berorientasi Objek

Keuntungan Pewarisan• Subclass menyediakan state/behaviour yang

spesifik yang membedakan dengan superclass.• Memungkinkan programmer untuk

menggunakan ulang source code dari superclassyang telah ada.yang telah ada.

• Programmer dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan classdengan tingkah laku dan state secara secara umum.

Page 16: Pengantar Pemrograman Berorientasi Objek

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.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.

Page 17: Pengantar Pemrograman Berorientasi Objek

Bahasa PemrogramanBahasa pemrograman yang mendukung OOP antara lain:• Visual Foxpro• Java• C++• Pascal (bahasa pemrograman)• Visual Basic.NET• SIMULA• SIMULA• Smalltalk• Ruby• Python• PHP• C#• Delphi• Eiffel• Perl• Adobe Flash AS 3.0

Page 18: Pengantar Pemrograman Berorientasi Objek

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; }{ 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; }

};