Pemrograman Berorientasi Objek

Slides:



Advertisements
Presentasi serupa
PBO - PERTEMUAN 1- CLASS.
Advertisements

Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
By : Rizky Yuniar Hakun. Konsep Pemrograman Berorientasi Object.
Abstract Class & Interface
OBJECT ORIENTED PROGRAMMING in JAVA
BAB III – CLASS (1) DIKTAT PBO Oleh: Adam Mukharil B. S.Kom.
Pemrograman Lanjut Ratnokustiawan.wordpress.com.
Pemograman beorientasi objek
DIKTAT PBO Oleh: Adam Mukharil B. S.Kom. BAB I – KONSEP PBO.
Pemrograman Berorientasi Objek
di OBJECT ORIENTED PROGRAMMING [OOP] Oleh H. SUMIJAN, Ir, M.Sc
Pemrograman Java Pewarisan / Inheritance Polimorfisme Pemrograman Java.
Inheritance Ery Setiyawan Jullev A.
UPI CONVENTION CENTER [UPI-CC] UNIVERSITAS PUTRA INDONESIA “ YPTK “ UPI CONVENTION CENTER [UPI-CC] UNIVERSITAS PUTRA INDONESIA “ YPTK “ PADANG, 08 Agustus.
Konsep Pemrograman Berorientasi Objek
Encapsulation, Inheritance, polymorphism, dan interface
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Pemrograman Berorientasi Objek
ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM
Class, Inheritance, Encapsulation & Interface
Pemrograman Berorientasi Obyek Oleh Tita Karlita
ALGORITMA DAN PEMROGRAMAN 2C MATERI MINGGU KE-2 Pengenalan Teknik-teknik Bahasa Pemrograman Henny Medyawati.
METHOD Object Oriented Programming with JAVA 2011/2012.
OBJECT ORIENTED PROGRAMMING YANES HARDIANTO SUI Politeknik Manufaktur Astra 2011.
07 Advanced Class Features
Object Oriented Programming with JAVA 2011/2012
OOP Java - Tj Konsep Dasar OOP.
OBJECT-ORIENTED PROGRAMMING (OOP)
Inheritance Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 4 Tahun : 2008 Versi : 1/0.
Inheritance, polymorphism, dan interface
Class and Object Matakuliah : XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan : 2 Tahun : 2008 Versi : 1/0.
INHERITANCE (Oleh : Nur Hayatin, S.ST)
OOP Java Minggu 2b Dasar OOP. Class (1) Deklarasi class : [ *] class { [ *] } Cat : [] = optional, * = repeat 0-N.
Pertemuan 6 PEWARISAN AND POLYMORPHISM
Firman Asharudin | Pemrograman Lanjut
Class & Object Disusun Oleh: Reza Budiawan Untuk:
11. Konsep Berbasis Object (Object-Oriented Concept)
Outline: Class Objek Konstruktor Destruktor Overloading dan Tipe value
OBJEK dan KELAS Sutrisno PTIIK-UB.
Pemrograman Berorientasi Object
Method & Constructor METHOD.
Constructor dan Overloading
POLYMORPHISM (Overloading)
BAB ENCAPSULATION ( Enkapsulasi )
MODIFIER JAVA.
Pemprograman berorientasi objek
Enkapsulasi, Accessor Method, Mutator Method
Membuat Kelas.
PBO Lanjutan Membuat Kelas.
Object Oriented Programming
Pilar Object Oriented Programming
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
Array, Class, Obyek, Method danConstructor.
Dasar-dasar Pemrograman Objek dg Java
Pemrograman Berorientasi Objek
ANALISA & DESAIN BERORIENTASI OBJEK
Object Oriented Programming
Pemrograman Berorientasi Objek
ISTILAH-ISTILAH PENTING PEMROGRAMAN BERBASIS OBYEK
(Object Oriented Programming)
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding Pemrograman.
Pemrograman Berorientasi Obyek
Array, Class, Obyek, Method danConstructor.
Dasar-dasar Pemrograman Berbasis Obyek. kelas Kelas pada java didefinisikan dengan menggunakan kata kunci class.
- PERTEMUAN 2- CONSTRUCTOR
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
DPH1C4 Pemrograman berorientasi Obyek
FONDASI PEMROGRAMAN & STRUKTUR DATA #4 - 1
Bahasa Pemrograman (Pemrograman Visual)
Transcript presentasi:

Pemrograman Berorientasi Objek Bab 2 – PBO

Pemrograman Berorientasi Objek Adalah paradigma pemrograman yang diorientasikan pada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.

PBO vs PT PT, prosedur dan data merupakan dua hal yang terpisahkan satu sama lain. Contoh, untuk mengelola data waktu yang terdiri dari jam, menit, dan detik, dalam C dapat digroupkan dengan menggunakan struct sebagai berikut: Namun meskipun demikian, untuk mengolah ketiga data tersebut, dibutuhkan prosedur yang disusun pada bagian yang terpisah.

PBO vs PT PBO, prosedur dan data dapat dibungkus menjadi sebuah objek sehingga prosedur dan data tidak terpisah lagi melainkan menjadi satu kesatuan. Ini merupakan salah satu konsep OOP yang disebut dengan “encapsulation”. OOP didasarkan pada pemodelan objek – objek dunia nyata menjadi objek – objek dalam pemrograman

Konsep Dasar OOP Objek Kelas Abstract Data Type / Tipe Data Abstrak Instantiation / Instansiasi Inheritance / Inheritas / Pewarisan Encapsulation / Enkapsulasi Abstraction / Abstraksi Polymorphism / Polimorfisme

Objek Segala sesuatu yang ada. Objek terdiri dari attribute / state dan behaviour / event. Attribute adalah segala ciri atau sifat yang melekat pada objek. Behaviour adalah perilaku / perbuatan / aksi / kejadian yang dapat dilakukan / diterima oleh objek. Contoh: anjing, kucing, manusia, meja, dsb. Attr & behav dari contoh tsb adalah???

Kelas Cetakan / template / blue print dari objek. Kelas mendefinisikan attribute (diwujudkan dalam bentuk field / variable global [variable yang melekat pada kelas, bukan pada sebuah method / fungsi / prosedur]) dan behaviour (diwujudkan dalam bentuk method / prosedur / fungsi) dari objek 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. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object.

Kelas Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

Abstract Data Type Adalah tipe data tertentu yang didefinisikan oleh pemrogram untuk kemudahan pemrograman serta untuk mengakomodasi tipe-tipe data yang tidak secara spesifik diakomodasi oleh bahasa pemrograman yang digunakan. Dalam OOP kita dapat mendefinisikan tipe data baru. Dapat berisi attribute saja, behaviour saja maupun keduanya. ADT diwujudkan dalam kelas – kelas buatan programmer sesuai dengan kebutuhan / keinginan programmer. Singgung tipe data primitive!

Instantiation Adalah proses penciptaan objek berdasarkan kelas yang ada. Sama dengan pembuatan variable berdasar kelas tertentu. Biasanya ditandai dengan penggunaan kata kunci “new”. Contoh: A a = new A();

Inheritance / Inheritas / Pewarisan Pewarisan attribute dan behaviour sebuah kelas kepada kelas yang lain. Contoh real: seorang anak memiliki anggota tubuh (mata, rambut) yang sama / mirip (bentuk, warna, etc) dengan orang tuanya, pewarisan DNA, etc.

Encapsulation / Enkapsulasi Pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan dengan cara yang tidak seharusnya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

Encapsulation / Enkapsulasi Manfaat dari proses enkapsulasi adalah : Modularitas: Kode sumber dari sebuah objek dapat dikelola secara independen dari kode sumber objek yang lain. Information Hiding: Karena kita dapat menentukan hak akses(public, private, protected, default) sebuah variabel/method dari objek, dengan demikian kita bisa menyembunyikan informasi yang tidak perlu diketahui objek lain.

Abstraction / Abstraksi Berbagai objek yang sejenis dapat memiliki behaviour yang sama namun berbeda implementasinya. Sebagai contoh, objek anjing sama – sama memiliki behaviour menggonggong namun suara gonggongan anjing berbeda – beda. Inilah yang mendasari abstraksi pada OOP. Pada OOP sebuah kelas dapat mendefinisikan behaviour yang sama secara abstract yang kemudian dapat diimplementasikan secara berbeda pada saat digunakan.

Polymorphism / Polimorfisme Kata polimorfisme berarti satu objek dengan banyak bentuk yang berbeda Adalah konsep sederhana dalam pemrograman berorientasi objek yang berarti kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila method yang sama dipanggil, dimana aksi method tergantung dari tipe objeknya. Menciptakan berbagai macam bentuk yang berbeda dari sebuah kelas yang sama. Proses ini dilakukan melalui proses pewarisan.

Kelas dan Objek Class Creation: Object Creation / Instantiation: class <name> { } Object Creation / Instantiation: <Class Name> <object name> = new <Class Constructor>;

Constructor / Konstruktor Adalah sebuah method yang otomatis akan dipanggil setiap kali melakukan instansiasi terhadap suatu kelas dan digunakan untuk melakukan inisialisasi nilai dari data – data yang terdapat di dalam kelas yang bersangkutan. Namanya == nama kelas. Tidak ada return type sama sekali. Jika tidak dideklarasikan == use default

Sample in Java class Mahasiswa { String nama; String nim; // default constructor Mahasiswa() {} // created constructor Mahasiswa(String nama, String nim) { this.nama = nama; this.nim = nim; } void cetakNama() { System.out.println("Nama = " + nama); } void cetakNim() { System.out.println("NIM = " + nim); } public static void main(String[] args) { Mahasiswa m1 = new Mahasiswa(); m1.nama = "John Smith"; m1.nim = "672000999"; m1.cetakNama(); m1.cetakNim(); Mahasiswa m2 = new Mahasiswa("Jane Doe", "672000001"); m2.cetakNama(); m2.cetakNim(); } } Nama = John Smith NIM = 672000999 Nama = Jane Doe NIM = 672000001

Overloading Adalah mendefinisikan method yang memiliki nama yang sama, tetapi dengan signature (data type parameter & parameter number) yang berbeda dalam definisi class yang sama. Constructor == method  bisa dioverload (see previous sample)

Sample In Java void cetakNama() { System.out.println("Nama = " + nama); } void cetakNama(String nama) { System.out.println("Nama = " + nama); } void cetakNama(int nama) { System.out.println("Nama = " + nama); } // not overloading void cetakNama(String namaSaya) { System.out.println("Nama = " + namaSaya); }