PEMROGRAMAN BERORIENTASI OBYEK Erizal, S.Si, M.Kom Universitas Respati Yogyakarta erizalmik@yahoo.com http://erizal.wordpress.com
Buku Pegangan Graham, I. Object Oriented Methods. New York : Addison Wesley Inc., 1991. B. Pohl, I. C++ for Programmers. The Benjamin/ Cumming, 1989. C. Stroustrup, B. The C++ Programming Language. New York: Addison-Wesley Inc., 1991. D. Sun Java Course , Java Fundamental Programming,. 2004
Overview
Tujuan Memberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi obyek dan perbandingannya dengan pemrograman prosedural
Topik Pemrograman prosedural vs pemrograman berorientasi obyek Mengorganisasi program menjadi element yang disebut class, dan bagaimana class ini digunakan untuk membuat obyek Struktur class : tingkah laku (behaviour) dan atribut (attributes) Konsep OOP
Bahasa Prosedural Bahasa Prosedural Serangkaian tugas diselesaikan dalam bentuk fungsi atau prosedur.. Cara pandang program adalah suatu urutan instruksi. Programer harus me-break down suatu problem menjadi sub problem yang lebih lebih simple. Fungsi dan prosedur menjadi fokus utama. Fungsi dan prosedur digunakan untuk memanipulasi data. Data bersifat pasif.
Pemrograman Berorientasi Obyek Fungsi dan data bukan menjadi dua hal yang terpisah. Fungsi dan data menjadi satu kesatuan yang disebut sebagai obyek aktif. Cara pandang program adalah serangkaian obyek yang bekerjasama untuk menyelesaikan suatu problem.
Procedural vs OOP Focusing on the way a computer handles tasks Focusing on the task you are using the computer
Apakah Obyek Semua benda yang ada di dunia nyata dapat dianggap sebagai obyek. Contoh : rumah , mobil , sepeda motor, gelas , komputer , meja dll.
Karakteristik Obyek Setiap obyek memiliki atribut sebagai status (state). Setiap obyek memiliki tingkah laku (behavior) Contoh : obyek sepeda Memiliki atribut (state) : pedal, roda , jeruji , warna , jumlah roda. Memiliki tingkah laku (behavior) : kecepatanya menaik, kecepatannya menurun, perpindahan perpindahan gigi sepeda.
Karakteristik Obyek Penggambaran pemrograman berorientasi obyek = penggambaran pada dunia nyata.. Pada pemrograman berorientasi obyek : State disimpan pada variabel Tingkah laku disimpan pada method
Paradigma Berorientasi Obyek (1) Paradigma ini didasari oleh Kelas dan Objek Objek adalah instansiasi dari kelas. Objek memiliki atribut (kumpulan sifat), dan mempunyai perilaku (kumpulan reaksi, metoda). Objek yang satu dapat berkomunikasi dengan yang lain melalui ‘pesan’
Paradigma Berorientasi Obyek (2) Paradigma Berorientasi Objek menawarkan konsep modularitas, penggunaan kembali, kemudahan modifikasi Salah satu aspek penting dalam OOP adalah aspek concurrent, dimana pada saat runtime akan banyak objek, dengan karakteristik masing-masing.
Object Oriented Programming (OOP) Suatu bahasa pemrograman, disebut sebagai bahasa yang mendukung Pemrograman Berorientasi Obyek /Object Oriented Programming (OOP) jika dapat mendukung kriteria sebagai berikut : Abstraksi (Abstraction) Enkapsulasi (Encapsulation) Polimorfisme (Polymorphism) Pewarisan (Inheritance)
Abstraksi Abstraksi adalah menerjemahkan permasalahan ke dalam obyek abstrak yang merepresentasikan permasalahan tersebut Contoh : Bagaimana kita dapat menerjemahkan permasalahan / memodelkan : pembayaran tagihan ? Bagaimana kita dapat menerjemahkan permasalahan / memodelkan : membersihkan rumah
Enkapsulasi Enkapsulasi berarti menyembunyikan detail obyek terhadap program yang menggunakan obyek (“black box”) Black box - Kita tahu apa yang ada di black box, apa yang dapat dihasilkan dan apa yang di dapat dimasukan / diperlukan, tetapi kita tidak tahu apa yang terjadi didalamnya
Contoh Misal Obyek : Mobil Nama 5 String Jenis 5 String Pintu 5 Integer Roda 5 Integer StatusMesin 5 Boolean : hidup / mati bukaPintu (integer : NoPintu) tutupPintu (integer : NoPintu) hidupkanMesin matikanMesin hidupkanLampuSign (integer : NoLampu) tambahKecepatan (integer : kecepatan) KurangiKecepatan (integer : kecepatan)
Contoh Untuk menghidupkan mobil kita cukup menggunakan metode : Mobil.hidupkanMesin Kita tidak perlu tahu detail bagaimana proses didalam metode hidupkanMesin
Polimorfisme Polimorfisme merupakan sebutan yang kompleks untuk sesuatu yang sederhana. Bahwa obyek yang berbeda dapat memiliki metode dengan nama yang sama, dengan proses yang berbeda. Contoh : Metode buka untuk obyek Botol, berbeda dengan metode buka pada obyek Pintu
Pewarisan - Inheritance Pewarisan merupakan proses mewariskan/ menurunkan properti dasar dari suatu obyek kepada obyek baru dan memodifikasi obyek baru dengan properti tambahan. Contoh : Motor dan Mobil keduanya mewariskan properti dari obyek Kendaraan
Filosofis Object Oriented Programming (OOP) Oleh karena pemrograman Visual adalah teknik pemrograman berorientasi object, maka beberapa ide dari OOP mempengaruhi pembuatan programnya seperti : Komponen secara visual, adalah object secara kode pemrograman Property pada komponen, adalah data member (elemen) dari object Method merupakan member dari object dalam bentuk prosedur
Filosofis Object Oriented Programming (OOP) Event-handler merupakan prosedur milik komponen/object yang hanya akan bekerja saat kejadian khusus terjadi atau diberikan ke komponen tersebut Untuk mengakses member dari object digunakan notasi : <Nama_object.member>, contoh : label.caption, form.close
Property dan Method Misal obyek : manusia Property, berhubungan dengan kata benda : warna kulit, rambut, tangan, kaki. Method, berhubungan dengan kata kerja : berjalan, berlari, bersin, dipukul, dijitak dan sebagainya. Dalam bentuk obyek visual dalam pemrograman, contoh yang mudah adalah sebuah tombol atau button. Property : Warna button, bentuk huruf, ukuran button Method : diklik (onclick), di-doubleclick, atau dilewati mouse (mouseover).
Event Driven Programming Dalam OOP juga dikenal yang namanya "event driven programming", atau pemrograman yang berdasarkan kejadian (event). Pemrograman struktural : alur prosesnya berjalan sequential dan bisa ditelusuri dengan mudah dari source-codenya. OOP : memprogram adalah mendefiniskan proses apa yang harus dilakukan jika ada suatu kejadian (event).
END OF MODUL - 1