PemrogramanBerbasis. Silabus dan Pengantar COP



dokumen-dokumen yang mirip
Object Oriented Programming 1

Konsep Pemrograman Berorientasi Obyek

Pemrograman Berorientasi. Inheritance

OBJECT ORIENTED PROGRAMMING

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

Konsep Pemrograman Berorientasi Obyek. Pertemuan 1

KONSEP Pemrograman Berorientasi Objek KARMILASARI

Konsep Pemrograman Berorientasi Obyek

Pemrograman Berorientasi Obyek. Konsep OOP

Konsep Pemrograman Berbasis Obyek

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

Bahasa Pemrograman 2.

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Pemrograman Berorientasi. Abstract & Interface

Bahasa Pemrograman 2.

PEMROGRAMAN BERORIENTASI OBJEK. Nurochman

Pemograman Berorientasi Objek

Pemrograman Berorientasi

Bahasa Pemrograman 2.

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Berorientasi. Class dan Obyek 2

Algoritma Pemrograman [BS204]

Pertemuan 11 Object Oriented Program

PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK UNTUK MULTI KELAS

Object OOP. Polymor phism

RENCANA PEMBELAJARAN SEMESTER

Covered Topics. Course Map OOP Concept

PertemuanI. Object Oriented

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

Pemrograman Berorientasi

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

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

BAB II LANDASAN TEORI. pengenalan komputer aplikasi merupakan sistem yang dirancang dan disusun

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

IKG2I4 / Software Project I

Pendahuluan Rekayasa Perangkat Lunak II. Alif Finandhita. Teknik Informatika UNIKOM

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

REKAYASA PERANGKAT LUNAK II

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Citra Noviyasari, S.Si, MT SI - UNIKOM

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

PRAKTIKUM I Class dan Obyek

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PENGENALAN OBJECT ORIENTED PROGRAMMING

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

Bahasa Pemograman II. Object Oriented Programming

Object OrientedProgramming

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

Object Oriented Programming (Class, Inheritance, Encapsulation dan Interface)

PEMROGRAMAN BERORIENTASI OBJEK

KONTRAK KULIAH. A. Deskripsi. Mata kuliah ini menjelaskan konsep pemrograman berbasis objek, dengan menggunakan class.

RENCANA PEMBELAJARAN SEMESTER (RPS)

VISUAL BASIC Pengenalan VB NET

Paradigma Pemrograman Berorientasi Objek

INTERAKSI ANTAR OBJECT

PRAKTIKUM OBJECT ORIENTED PROGRAMING

Object Oriented Programming (OOP) --Inheritance- Saniati STMIK Teknokrat, Bandar Lampung

RENCANA PEMBELAJARAN SEMESTER (RPS)

C#, Programming, Object-oriented. Pengenalan C# Erick Pranata. Edisi I

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

Pemrograman Lanjut Review Class dan Object PTIIK

PEMROGRAMAN BERORIENTASI OBJEK LANJUT

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

Pemrograman Berbasis Objek (Polimorfisme)

Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs

Jobsheet 09. Overloading and Overriding Method

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

Inheritance (Pewarisan) Pengertian dasar inheritance

Other OOP Basic. Viska Mutiawani, M.Sc. 1 Viska Mutiawani - Informatika FMIPA Unsyiah

Class Diagram Class diagram mendeskripsikan jenis-jenis objek dalam system dan berbagai macam hubungan statis yang terdapat di antara mereka.

OBJECT ORIENTED PROGRAMMING DENGAN PHP. Janitra Panji

5/23/12. Inheritance. Pengertian inheritance Deklarasi inheritance Single inheritance Multilevel inheritance Access Control super keyword

ENKAPSULASI Data Hiding

Pemrograman Berorientasi Obyek. Ramos Somya

Tujuan KONSEP PEMROGRAMAN BERORIENTASI OBJECT. Bahasa Prosedural. Topik OOP. Apakah OBYEK? 3/15/2012

PEMROGRAMAN BERORIENTASI OBJEK

Keyword this untuk memanggil private String pengarang; private String judul;

Other OOP Basic. Viska Mutiawani, M.Sc

Pemrograman Web. Pemrograman Berorientasi Objek. Adam Hendra Brata

MODUL 3. Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM LANDASAN TEORI. A. Inheritance

Inheritance dan Kata Kunci static

KONSEP OBJEK ORIENTASI PROGRAM

BAB IV KONSEP PEMROGRAMAN BERORIENTASI OBJEK

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

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

:: abstract class + interface. :: abstract class

PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO

BAB 1 PENGENALAN PEMROGRAMAN BERORIENTASI OBJEK

Rencana Pelaksanaan Pembelajaran

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

RENCANA PEMBELAJARAN SEMESTER (RPS)

Arsitektur Teknologi Informasi

Bab 8. Dasar-Dasar OOP

Pemrograman Lanjut. Class : Deeper Look 2

SYLLABUS DAN PENDAHULUAN. Astrid Lestari Tungadi, S.Kom., M.TI.

Class dan Objek. Ali Tarmuji ID YM: alitarmuji. T. Informka UAD 1

Teknik Informatika S1

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

MEMAHAMI PENGGUNAAN UML

Pemrograman Berorientasi. Methods

Transkripsi:

PemrogramanBerbasis Komponen Silabus dan Pengantar COP

Peraturan Harap tenang. Peringatan hanya akan diberikan 2x selama satu semester ini Setelah itu pembuat keributan akan dikeluarkan langsung dari kelas Keterlambatan maksimal 20 menit This is the fun part! You ll sing some embarassing cool songs!

Peraturan Absensi>= 75% untukmengikutitas SuratizinTAS paling lambatdiurus H-1ujian, harus ditandatangani 2 dosen pengampu sekaligus. TAS tanpasuratizin, nilaitas = 0. NIM andamunculdi daftaracaraujiankarena mencontek/dicurigai mencontek, nilai langsung E

Administratif Dosen Pengampu Antonius Rachmat C. S.Kom. M.Cs Yuan Lukito, S.Kom. Kuliah3 skstanpapraktikum, 1 kali pertemuan setiap minggunya Silabus, MateridanNilaibisadiambildarieclass (http://ukdw.ac.id/e-class)

DeskripsiMatakuliah Matakuliah ini mengajarkan dua hal Design Pattern Pemrograman Berbasis Komponen Teknologiyang dibahasmeliputiweb, Desktop dan Mobile

Kompetensi Memahamidandapatmenggunakandesign pattern dalam menghadapi masalah-masalah perancangan suatu sistem software Memahami dasar-dasar pemrograman berbasis komponen Memahami dan dapat mengimplementasikan konsepweb Service Dapatmembuatkomponenpadaplatform Desktop atau Mobile

Silabus Silabus dan Pengantar OOP&COP 28/8 Pengantar Design Pattern, Strategy dan Observer Pattern 4/9 Factory dan Singleton Pattern 11/9 Command Pattern 18/9 Presentasi Project (Kickstart) 25/9 Adapter danfacade Pattern 2/10 Decorator danstate Pattern 9/10

Silabus TTS REST Web Service 30/10 Presentasi(Progress) 6/11 Desktop Component (.NET) 13/11 Desktop Component (VCL) 20/11 Java Component (JavaBeans dan EJB) 27/11 Presentasi(Final) - 4/12 TAS

BukuAcuan

Acuan Head First Design Pattern by Eric Freeman dan Elisabeth Freeman, O Reilly, 2004 Component Oriented Programming, by Andy Ju An Wang dan Kai Qian, Willey, 2005 Head First Enterprise Java Beans, O Reilly Component Software, Beyond Object Oriented Programming, Clemens Szyperski, Addison-Wesley Professional; 2 edition, 2002 Design Patterns Java Companion by James W. Cooper, Addison-Wesley, 1998

KomponenPenilaian Komponen Bobot(%) TTS 20% TAS 20% Project 60% Total 100%

Test Tengah Semester Bersifat Open book Materi yang diujikan COP dan Design Pattern

Test AkhirSemester Bersifat Open Book Materi yang diujikan tentang COP pada beberapa platform (Web, Desktop dan Mobile)

PROJECT, LET S THE FUN BEGIN!

Project Dikerjakan secara berkelompok(3/4 orang) Hal-hal yang akan dikerjakan Membuatkomponen(Desktop ataumobile) yang mengkonsumsidata dariinternet (RSS, Web Service, etc) Membuat aplikasi yang menggunakan komponen tersebut

Presentasi Alokasi waktu 10 menit 5 menit presentasi 5 menittanyajawab Presenter menentukan nilai kelompok Choose wisely! Yang sudah presentasi tidak boleh presentasi lagi di tahap berikutnya

Project Timeline Kickstart (5 th ) Final (13 th ) Progress (9 th )

Kickstart Menentukan topik Menentukan spesifikasi Fitur Arsitektur Tools yang digunakan Rancangan Database (jika ada) Bahasa pemrograman yang digunakan

Kickstart Membuat prototype Gambaran umum komponen yang akan dibuat Dalam bentuk grafis(mockup? UML?) Rencana kerja(tahapan-tahapan yang akan dikerjakan beserta pembagian tugas) Bobotnilai20%

Progress Review Rencana Kerja Working prototype Sebagian fitur yang sudah diimplementasikan Semakin banyak semakin baik Prototype aplikasi Bobotnilai20%

Final Komponen Aplikasi Laporan project Laporan dari tahap Kickstart Dokumentasi Komponen dan Aplikasi Bobotnilai20%

Project Requirements Buatsebuahkomponen(untukplatform Java/.NET/VCL) Konsumsi data dari Internet Buat sebuah aplikasi yang menggunakan komponen tersebut

PunyaIde lain? Silahkan didiskusikan dengan kami

COP BAGIAN1 OBJECT ORIENTED PROGRAMMING

Pemrograman Berorientasi Obyek Suatu metode pemrograman yang dipakai untuk mengorganisasikan program kedalam suatu komponen logis (=class). Class harus diinstansiasi dibuat obyeknya terlebih dahulu sebelum bisa digunakan. Misalnya: keyword pada java dan.net: new Inisialisasi awal suatu obyek = null Class merupakan suatu template yang digunakan sebagai pola desain suatu obyek Analogikan kelas : rancangan mobil Analogikan obyek: mobil nyata

Class dan Obyek

Attribute dan Method Atribut: Ciri pembeda antar obyek Method: Tingkah laku sebuah obyek

Class class namakelas { } Fields; Constructors; Methods;

Method = Fungsi Pass By Value: untuk tipe data primitif Mengkopi nilai datanya, bukan referensi obyek Hanya bisa memodifikasi data di dalam fungsi, tidak bisa diluar fungsi Pass By References: untuk tipe data bentukan (ADT) dan obyek Yang dikirimkan adalah referensi obyeknya Bisa memodifikasi nilai di dalam dan luar fungsi karena referensi yg diacu memiliki alamat referensiyg sama

Ilustrasi class dan instansiasi

Object/Class assigment

Object/Class assigment

Ilustrasi kerja Garbage Collector

Ilustrasi kerja Garbage Collector

Ilustrasi kerja Garbage Collector

Ciri khas OOP Abstraksi: Mendefinisikan classyang mampu mengabstraksikan/mendefinisikan suatu obyek danmampu melakukan kegiatan, mengubah state, dan berkomunikasi dengan obyek lain pada sistem Membuat class yg terdiri dari atribut dan method Enkapsulasi: Menyembunyikan informasi dan detail implementasi sebuah atribut/method, serta mengatur akses terhadap atribut/method Hak akses pada method Polimorfisme: Membuat obyek dari kelas dasar dapat berperilaku seperti obyek lain yang merupakan turunannya Polimorfisme juga berarti banyak bentuk yg diimplementasikan pada multiple constructor class Class anak bisa diassign ke kelas induk Inheritance: pewarisan atribut dan method dari class induk ke kelas anak

Abstract dan Interface Abstract class: superclass khusus yang bersifat generik untuk mendefinisikan class yang berisi atribut dan method yang umum Menggunakan keyword: abstract Interface : templateyang seluruh methodnya abstract sehingga seluruh methodnya harus diimplementasikanoleh class yang mengimplementasikan interface tersebut. Interface boleh memiliki atribut yg berupa konstanta Untuk standarisasi Konstanta = static final Keyword: interface & implements

Contoh Abstract

Inheritance Merupakan pewarisan atribut-atribut dan methodmethod dari dari sebuah sebuah class ke class lainnya. Class yang memberi warisan => superclass Class yang diberi warisan => subclass Contoh: Superclass => sepeda Subclass => sepeda gunung, sepeda balap, sepeda motor Keyword pada Java = extends

Inheritance Keuntungan: Memberikan ciri khas pada masing-masing subclass Superclass mewariskan atribut dan methodnya ke subclass sehingga menerapkan reuse Pada inheritance juga dikenal adanya overriding Method yang sama nama dan tipenya tapi di kelas berbeda namun masih dalam satu hubungan keturunan Jika ada method di kelas parent yang sudah didefinisikan, dan didefinisikan ulang, maka method pada kelas anak akan menutupmethod parent, kecuali method pada parent dibuat final

Interface interface Draw { void draw(); void draw3d(); } Suatu class boleh mengimplementasikan lebih dari satu interface Suatu class hanya boleh mengextends satu class interface Color { void setcolor(int color); int getcolor(); } class Lingkaran implementsdraw, Color { void draw() { /*implementasi draw*/ } void draw3d() { /*implementasi draw3d*/ } void setcolor(int color){/*implementasi setcolor*/}; int getcolor(){/*implementasigetcolor*/}; }

Polimorfisme Konstruktor= method untuk inisialisasi obyek suatu class Overloading konstruktor: Dalam 1 kelas lebih dari satu konstruktor Overloading method: public void println(char c); public void println(string s); public void println(int i);

Polimorfisme Sebuah object mampu melihat konteks berdasarkan reference yang ditunjuknya Lingkaran dan Kubus diturunkan dari Bangun Bangun memiliki method luas yang mengembalikan double yang masih abstrak, tergantung apakah luas Kubus atau Lingkaran Jika sebuah variabel (reference) bertipe Bangun menunjuk ke Lingkaran, maka sifatnya akan seperti Lingkaran, jika menunjuk ke Kubus, sifatnya seperti Kubus

Overloading Suatu kelas bisa memiliki behaviour lebih dari satu dengan nama yang sama, tetapi dengan parameter yang berbeda(urutan maupun tipe)

Containment Has-a

Dependency

Dependency Ada 3 bentuk dependency Penggunaan class B sebagai parameterpada fungsi di class A Penggunaan class B sebagai nilai kembalian (return value) pada fungsi di class A Penggunaan class B sebagai variabel lokal pada fungsi di class A

Ada Pertanyaan?

BAGIAN2 COMPONENT ORIENTED PROGRAMMING

Component Oriented Programming (COP) Pemrograman Berorientasi Komponen Komponen sebagai sudut pandang utama Program tersusun dari komponen-komponen yang saling terhubung dalam hubungan yang terdefinisi dengan baik, dapat digunakan ulang dan saling independen satu sama lain

Kenapa COP Penting? Sistem Operasi Windows NT 4.0 Windows 2000 Windows XP Windows Server 2003 Windows 7 Lines of Code 11-12 Juta 29+ Juta 40 Juta 50 Juta > 50 Juta

Kenapa COP Penting?

Kenapa COP Penting Black Box Grey Box White Box

Kenapa COP Penting? Perkembangan software yang semakin kompleks, butuh teknik untuk mengatasi kompleksitas tersebut Menangani perubahan sesuai kebutuhan Penggunaan ulang untuk mengurangi waktu pengembangan

Komponen Itu Apa? A software component is a piece of selfcontained, self-deployablecomputer code with well-defined functionalityand can be assembledwith other components through its interface.

Komponen Itu Apa? Self contained Self deployable Well-defined functionality Can be assembled through its interface

Komponen Itu Apa?

Komponen Itu Apa?

Komponen Itu Apa? Network GTalk Pidgin IM YM! XML MSN

Contoh Komponen JavaBeans dan EJB (Sun Microsystem) COM, DCOM, ActiveX dan.net Component (Microsoft) Corba(OMG) XPCOM (Mozilla) VCL, CLX danlcl (Borland) UNO (OpenOffice.org) Dan lainnya

Komponen.NET Demo

PerkembanganParadigma Pemrograman Structured Programming (SP) Pemecahan program menjadi fungsi-fungsi Object Oriented Programming (OOP) Object sebagai penyusun program Component Oriented Programming (COP) Program tersusun dari komponen

SP vs OOP vs COP Divide and Conquer - Memecah masalah besar menjadi masalahmasalah yang lebih kecil - Untuk menangani kompleksitas SP OOP COP YES YES YES

SP vs OOP vs COP Data + Function - Menggabungkan data dan fungsi SP OOP COP NO YES YES

SP vs OOP vs COP Encapsulation - Pembungkusan, isolasi - Mengurangi coupling (ketergantungan) SP OOP COP NO YES YES

SP vs OOP vs COP Identity -Setiapsoftware entitaspunyaidentityyang unik SP OOP COP NO YES YES

SP vs OOP vs COP Interface - Ketergantungan spesifikasi - Membagi spesifikasi komponen menjadi interface - Mencegah ketergantungan antar interface SP OOP COP NO NO YES

SP vs OOP vs COP Deployment - Unit abstrak dapat dideploy secara independen SP OOP COP NO NO YES

COP vs OOP

COP vs OOP

Ada Pertanyaan?

MateriBerikutnya PengantarDesign Pattern (Strategy danobserver Pattern)