Paradigma Pemrograman Berorientasi Objek

dokumen-dokumen yang mirip
MODUL VI OBJECT ORIENTED PROGRAMMING (OOP)

PertemuanI. Object Oriented

Pertemuan 11 Object Oriented Program

Konsep Pemrograman Berbasis Obyek

Teknik Informatika S1

12.Objek. S. Indrianii L, M.T

Pemrograman Berorientasi Obyek (C++) Departemen Ilmu Komputer FMIPA IPB 2013

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

DESIGN SYSTEM WITH UML

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

Introduction Object Oriented Analysis & Design. Chapter I

Pemograman Berorientasi Objek

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO

Kisi-Kisi Ujian Akhir Semester Algoritma dan Pemrograman Lanjut

Pemrograman Berorientasi Obyek. Ramos Somya

Pewarisan atau Inheritance

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni

Object Oriented Programming LOGO

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

VISUAL BASIC Pengenalan VB NET

Bahasa Pemograman II. Object Oriented Programming

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

KONSEP Pemrograman Berorientasi Objek KARMILASARI

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

Object Oriented Programming 1

Teknik Informatika S1

PERTEMUAN 11 KONSEP PEMROGRAMAN BERORIENTASI OBJEK

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

Review Bahasa Pemrograman Java Konsep OOP N I K O I B R A H I M, M I T F A K U L T A S T E K N O L O G I I N F O R M A S I

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Konsep Pemrograman Berorientasi Obyek

TUGAS RESUME C++ Dosen pembimbing : Taufiqurrahman. Di susun Oleh : Ahmad Faisal Akbar ( ) Ahmad Tarjianto ( )

Inheritance dan Polimorfisme

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Class. Object. Object Oriented Programming (OOP) Object Oriented Programming (OOP)

OBJECT ORIENTED PROGRAMMINGS

Pemrograman Berorientasi Obyek. Konsep OOP

Object OOP. Polymor phism

Object OrientedProgramming

MINGGU IV : PEMROGRAMAN BERORIENTASI OBJEK

KONSEP OBJEK ORIENTASI PROGRAM

DEVAL GUSRION, S.KOM, M.KOM MATAKULIAH BAHASA PEMOGRAMAN JAVA LANJUTAN III

PRAKTIKUM OBJECT ORIENTED PROGRAMING

PEMROGRAMAN JAVA. Yoannita, S.Kom. Class & Method sederhana Konsep Pemrograman Berorientasi Objek. Company LOGO

PEMROGRAMAN BERORIENTASI OBJEK

Pengenalan Obyek. Arna Fariza. Materi

PRAKTIKUM I Class dan Obyek

Konsep Pemrograman Berorientasi Obyek. Pertemuan 1

PEMROGRAMAN BERORIENTASI OBJEK. Nurochman

Pemograman Berorientasi Objek. Week 3 Abstrak dan Interface dalam suatu kelas

Konsep Pemrograman Berorientasi Obyek

OBJECT ORIENTED PROGRAMMING

STRUKTUR DENGAN ARRAY DAN FUNCTION

MODUL 6. PEMROGRAMAN VISUAL BASIC.NET DENGAN OOP (II) dan STRING

DASAR PEMROGRAMAN. Konsep Pemrograman Berorientasi Objek. Yoannita

Pemrograman Berorientasi Obyek. Ramos Somya

INHERITANCE. Oleh: Rasim ILKOM-FPMIPA-UPI

Paradigma Pemrograman Berorientasi Objek

Bahasa Pemrograman 2.

Pengantar Analisis dan Desain Berbasis Obyek. Object Oriented Analysis and Design

Pengantar Analisis dan Desain Berbasis Obyek (Object Oriented Analysis and Design)

Konsep Dasar Pemrograman Dan Pengenalan C++

Mengenal Object Oriented Programming (OOP)

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut

Pengantar Pemrograman

Class & Object 2. Imam Fahrur Rozi

Inheritance dan Kata Kunci static

Object Oriented Analysis and Design -Pendahuluan- Nisa ul Hafidhoh

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PENGENALAN OBJECT ORIENTED PROGRAMMING

Pemrograman Berorientasi

PERANCANGAN BERORIENTASI OBJEK

Bahasa Pemrograman :: Object Oriented Programming

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

PEMROGRAMAN JAVA. Yoannita. Konsep Pemrograman Berorientasi Objek. Company LOGO

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

BAB 1 PENGENALAN PEMROGRAMAN BERORIENTASI OBJEK

Inheritance dan Polimorfisme

PENDAHULUAN. A. Berorientasi Objek. 1. Karakteristik dari Objek

Algoritma Pemrograman [BS204]

Kurikulum Qt. Chapter 8 - Polymorphism. Polimorfisme. Problema Pewarisan Tunggal (Single Inheritance)

Perancangan Analisis dan Database Sistem

ENKAPSULASI Data Hiding

BAB III PERANCANGAN PROGRAM

Pemrograman Web Berbasis Framework. Pertemuan 2 : OOP Dalam Pemrograman Web. Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

MODUL 1 PRAKTIKUM PEMROGRAMAN BERORIENTASI OBYEK(PBO) KELAS DAN OBJEK. TGL PRAKTIKUM : 24 September 2012 :ACHMAD FAJAR NORULLAH NRP :

Polymorphism. Oleh : Agus Priyanto, M.Kom

C V.S. C++ Oleh : Rasim

Pemrograman Berorientasi. Abstract & Interface

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

Inheritance (Pewarisan) Pengertian dasar inheritance

Pemrograman Web. Pemrograman Berorientasi Objek. 8 Adam Hendra Brata

UNIVERSITAS GUNADARMA

OBJECT ORIENTED PROGRAMMING DENGAN PHP. Janitra Panji

Praktikum Minggu VI 1 dan 2 Dasar-dasar Object Oriented Programming PHP

JOBSHEET 3 CLASS DAN OBJEK

INTRODUCTION OBJECT ORIENTED ANALYSIS & DESIGN

Transkripsi:

Paradigma Pemrograman Berorientasi Objek Oleh : Agus Priyanto, M.Kom

Tujuan Pembelajaran Mengetahui konsep pemrograman berorientasi obyek Mengetahui perbedaan antara pemrograman berorientasi obyek dan pemrograman prosedural

Mengetahui keuntungan dari pemrograman berorientasi obyek Mengetahui kelas dan obyek Mengetahui fitur dari pemrograman berorientasi obyek

Ilustrasi Bagaimana Anda menggambarkan ini dalam komputer??

Tabungan Anda akan mencari atribut-atribut yang relevan dengan tabungan. Banyak?? Mungkin Tapi ambil saja 3 (sebagai contoh) untuk penyederhanaan dan memudahkan pemahaman..

Tabungan Operasi?? Simpan Transfer dlsb. Implementasi Record struktur Procedural style Kelas Object Oriented style

Procedural System Operasi Data 340,00 300,00 50,00 Tabungan1 Pegawai Bank 60,00 20,00 Tabungan2

Object-Oriented System 340,00 300,00 50,00 Tabungan1 Pegawai Bank 60,00 20,00 Tabungan2

Dekomposisi Berdasar Fungsi Prosedural Dekomposisi Berdasar Obyek PBO

Sejarah PBO Dicetuskan pada tahun 1990-an yaitu memecahkan kebinggungan masalah pemrograman terstruktur dan ERD (Entity Relationship Diagram) Pemrograman berorientasi objek memungkinkan pengelolaan Data dan Fungsi dalam satu kesatuan yang disebut Objek

Ide PBO diawali oleh ADT (Abstract Data Type) karena banyak kelemahan di sempurnakan menjadi konsep Objek

Karakteristik PBO Pendekatan lebih pada data bukan fungsi/prosedur Program besar dipecah-pecah menjadi objekobjek Struktur data dirancang dan menjadi karakteristik dari objek-objek

Fungsi-fungsi yang mengoperasikan data tergabung dalam suatu objek yang sama Data tersembunyi dan terlindung dari fungsi / prosedur yang ada diluar Objek-objek dapat saling berkomunikasi dengan saling mengirim pesan satu sama lain

Berorientasi Objek? Attribute : Topi, Baju, Jaket, Tas Punggung, Tangan, Kaki, Mata Behavior : Cara Jalan ke Depan Cara Jalan Mundur Cara Belok ke Kiri Cara Memanjat

Attribute (State): Ban, Stir, Pedal Rem, Pedal Gas, Warna, Tahun Produksi Behavior: Cara Menghidupkan Mesin Cara Manjalankan Mobil Cara Memundurkan Mobil Attribute Variable(Member) Behavior Method(Fungsi)

Perbedaan Class dan Object Class: konsep dan deskripsi dari sesuatu Class mendeklarasikan method yang dapat digunakan (dipanggil) oleh object Object: instance dari class, bentuk (contoh) nyata dari class Object memiliki sifat independen dan dapat digunakan untuk memanggil method

Contoh Class dan Object: Class: mobil Object: mobilnya pak Joko, mobilku, mobil berwarna merah

Deklarasi Kelas (Class) : class nama_class { Data elemen_class private; Data elemen_class private; Public : Data elemen_class public; Data elemen_class public; }nama_object;

Listing Program Class Motor class Motor //Nama Class { Public : //Tipe anggota data bersifat public, default private char merk[50]; char jenis[35]; //Nama anggota data float harga; int stock; }Motor Sport; //Pendefinisian object

Fitur Pemrograman Berorientasi Obyek 1. Enkapsulasi (Encapsulation) 2. Abstraksi (Abstraction) 3. Pewarisan (Inheritance) 4. Polimorfisme (Polymorphism)

Enkapsulasi (Encapsulation) Enkapsulasi adalah suatu cara untuk menyembunyikan detail implementasi detail dari sebuah kelas Terdapat dua hal mendasar dari enkapsulasi yaitu : Terdapat dua hal mendasar dari enkapsulasi yaitu : Information hiding penyembunyian detil dari atribut dan method pada sebuah kelas Interface untuk pengaksesan data suatu method untuk mengambil, memberikan atau mengubah suatu nilai

Contoh : pada sebuah mesin ATM Yang disediakan oleh mesin ATM adalah sebuah layar informasi dan perangkat untuk membaca kartu Saat kartu ATM dimasukkan, maka pengguna akan memasukkan nomor pin

Ketika pin dimasukkan, berarti telah terjadi proses pengaksesan data yang akan memberikan nomor pin untuk dikirimkan dan divalidasi pada server dari ATM tersebut Disini terjadi penyembunyian informasi tentang bagaimana cara kerja pengecekan validitas kartu, kecocokan pin yang dimasukkan, koneksi ke database server, dll, dimana hal-hal tersebut tidak perlu diketahui oleh pengguna tentang bagaimana cara kerjanya

Abstraksi Arti abstraksi mengacu kepada atribut dari sebuah obyek yang membedakan antara satu obyek dengan obyek yang lain Misalnya pada sebuah sistem akademik, dimana terdapat beberapa komponen misal saja mahasiswa

Didalam obyek tersebut, terdapat suatu atribut yang akan saling membedakan antara satu obyek mahasiswa dengan mahasiswa lainnya, yaitu NIM, Nama, tanggal lahir, alamat, dan sebagainya. Dalam pemrograman berorientasi obyek konsep ini berada pada pembuatan sebuah kelas

Semua atribut dari obyek didefinisikan dalam sebuah kelas. Sebenarnya kelas tidak memiliki data, tetapi sebuah obyek-lah yang akan menyimpan data, karena obyek diciptakan dari sebuah kelas dan oleh sistem operasi akan dialokasikan sejumlah memori kepada obyek tersebut

Pewarisan Salah satu fitur yang paling kuat dalam pemrograman berorientasi obyek adalah penggunaan kode kembali (code reuse) Sekali sebuah prosedur dibuat, maka kita bisa menggunakannya berulang kali

1. Fitur pewarisan mengijinkan sebuah kelas yang dinamakan superclass untuk menurunkan atribut-atribut dan methodnya kepada yang lainnya, yaitu yang disebut subclass atau kelas turunannya 2. Hal ini akan mengijinkan pembuatan kelas baru yang didasarkan dari peng-abstrakan atribut-atribut dan behaviour yang sama

1. Dari contoh diatas bisa dilihat bahwa terdapat sebuah kelas CivitasAkademik yang memiliki 2 (dua) kelas turunan, yaitu Dosen dan Mahasiswa 2. Meskipun didalam kelas Dosen dan Mahasiswa tidak tercantum atribut Nama dan Alamat, tetapi keduanya tetap memiliki kedua atribut tersebut yang diturunkan dari kelas CivitasAkademik. 3. Begitu juga untuk kelas Asisten dan PesertaUjian. Keduanya tetap memiliki atribut Nama dan Alamat yang diturunkan dari kelas Mahasiswa, yang sebenarnya juga turunan dari kelas CivitasAkademik 4. Hal tersebut tidak hanya berlaku untuk atribut saja, tetapi juga method-method yang ada di kelas induknya

Didalam pemrograman berorientasi obyek, terdapat beberapa jenis pewarisan, yaitu : 1. Single inheritance, yaitu hanya terdapat satu superclass 2. Multiple inheritance, yaitu terdapat lebih dari satu superclass

Polimorfisme Polimorfisme diturunkan dari bahasa latin yaitu poly yang berarti banyak dan morph yang berarti bentuk Polimorfisme sendiri berarti sesuatu yang memiliki banyak bentuk

Sebagai contoh adalah sebuah obyek wanita, beberapa peran yang mungkin dimiliki adalah : Bagi suami maka dia berperan sebagai seorang istri Buat anak-anak berperan sebagai ibu Di tempat kerja maka dia akan berperan sebagai seorang karyawan Di tempat kuliah berperan sebagai mahasiswi Di tempat arisan berperan sebagai ketua arisan

Didalam pemrograman berorientasi obyek, polimorfisme adalah sebuah fitur yang memungkinkan kita untuk memberikan arti atau penggunaan yang berbeda bagi sebuah entitas dalam konteks yang berbeda-beda Polimorfisme bisa digunakan sebagai kategori umum bagi sebuah entitas dalam tindakan yang berbeda-beda.

Source Code 1 #include <iostream> #include <conio.h> class Welcome { public: void display() { cout<<" Selamat Datang di Praktikum PBO dengan C++"<<endl; } }; void main() { Welcome W; W.display(); getch(); }

Source Code 2 #include <iostream> #include <conio.h> class DemoObjectOriented { }; public: void helloworld(int jmlh_looping); int tambah(int bil1, int bil2); void DemoObjectOriented::helloWorld(int jmlh_looping) { for(int i=0;i<jmlh_looping;i++) { } cout<<i+1<<". Hello World..."<<endl; } int DemoObjectOriented::tambah(int bil1, int bil2) { } return(bil1+bil2); int main() { } int bil1=5, bil2=2; int jmlh_looping=5; DemoObjectOriented Demo; //Pembentukan Objek cout<<endl; cout<<"-display Hello World-"<<endl; Demo.helloWorld(jmlh_looping); //Pemanggilan Prosedur cout<<endl<<"-pemanggilan Fungsi Tambah- "<<endl; //Pemanggilan Fungsi cout<<"hasil Operasi Tambah : "<<Demo.tambah(bil1,bil2); cout<<endl; getch(); return 0;

Source Code 3 #include<iostream.h> #include<string.h> #include <conio.h> class Buku { }; private : public: char judul[35]; char pengarang[25]; int jumlah; void inisialisasibuku(char *jdl,char *pngarang,int jmlh) { } strcpy(judul, jdl); strcpy(pengarang, pngarang); jumlah = jmlh; void infobuku() { } cout<<" Judul :"<<judul<<endl; cout<<" Pengarang :"<<pengarang<<endl; cout<<" Jumlah buku :"<<jumlah<<endl; int main () { Buku novel,fiksi; novel. inisialisasibuku("meriam Benteng navarone","alistair Maclean",12); fiksi. inisialisasibuku("jurassic park","michael Crichton",3); novel. infobuku(); fiksi. infobuku(); getch(); return 0; }