pendahuluan object oriented programming

23
PENDAHULUAN PENDAHULUAN Object Oriented Programming Object Oriented Programming

Upload: thais

Post on 14-Jan-2016

47 views

Category:

Documents


1 download

DESCRIPTION

PENDAHULUAN Object Oriented Programming. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: PENDAHULUAN Object Oriented Programming

PENDAHULUANPENDAHULUAN

Object Oriented ProgrammingObject Oriented Programming

Page 2: PENDAHULUAN Object Oriented Programming

Object Oriented ProgrammingObject Oriented Programming

Konsep awal programming (Basic) dengan kekuatan GOTO statement Konsep awal programming (Basic) dengan kekuatan GOTO statement Bahasa pemrograman terstruktur (procedural Language) , menghilangkan Bahasa pemrograman terstruktur (procedural Language) , menghilangkan kelemahan GOTO konsep programming tidak terstruktur kelemahan GOTO konsep programming tidak terstruktur Contoh: Pascal, Basic, FORTRAN, COBOL, C++, dll Contoh: Pascal, Basic, FORTRAN, COBOL, C++, dll

Object Oriented Programming, yang mengarah ke konsep objectObject Oriented Programming, yang mengarah ke konsep object - Diperkenalkan pertama kali oleh bahasa SIMULA 67 - Diperkenalkan pertama kali oleh bahasa SIMULA 67 - Masih berbasiskan Text, dimana program harus dibuat dengan mengetik - Masih berbasiskan Text, dimana program harus dibuat dengan mengetik serangkaian perintah serangkaian perintah - Bahasa Pemrograman lain : Smalltalk, Clipper 5.2, Java, Prolog, dll - Bahasa Pemrograman lain : Smalltalk, Clipper 5.2, Java, Prolog, dll Visual Object Oriented Programming Visual Object Oriented Programming - memakai konsep GUI (Graphical User Interface) - memakai konsep GUI (Graphical User Interface) - Diperkenalkan pertama kali pada tahun 1991 oleh Microsoft dengan - Diperkenalkan pertama kali pada tahun 1991 oleh Microsoft dengan mengeluarkan Visual Basic mengeluarkan Visual Basic

Page 3: PENDAHULUAN Object Oriented Programming

• - Bahasa pemrograman lain : - Bahasa pemrograman lain : Visual C++ (Dikembangkan dari bahasa C )Visual C++ (Dikembangkan dari bahasa C )Visual foxpro 3.0 (Dikembangkan dari bahasa Foxpro )Visual foxpro 3.0 (Dikembangkan dari bahasa Foxpro )Visual objectsVisual objectsPower BuilderPower BuilderCORBA (Common Object Request Broker Architecture)CORBA (Common Object Request Broker Architecture)Visual dbase 5.5Visual dbase 5.5 ( Dikembangkan dari bahasa dbase ) ( Dikembangkan dari bahasa dbase )Visual basic Visual basic (Dikembangkan dari bahasa BASIC )(Dikembangkan dari bahasa BASIC )Borland delphiBorland delphi ( Dikembangkan dari bahasa PASCAL )( Dikembangkan dari bahasa PASCAL )CA Clipper 5.3CA Clipper 5.3 ( Dikembangkan dari bahasa clipper )( Dikembangkan dari bahasa clipper )dot NETdot NETdlldll

Page 4: PENDAHULUAN Object Oriented Programming

• Metodologi adalah cara sistematis untuk mengerjakan pekerjaan analis dan desain

• Pada tahun 1980 Grady Booch membuat sebuah tulisan berjudul “Object-Oriented Design”, dan tahun 1991 membuat sebuah buku yang membahas metode design object oriented yang berjudul “Object Oriented Design”. Buku ini pernah direvisi pada tahun 1993. Buku pertama yang berjudul “Object Oriented System Analysis” dibuat oleh Shlaer dan Mellor pada tahun 1988, dan tahun 1992 diterbitkan jilid 2. Metodologi shlaer dan Mellor ini merupakan metodologi OO yang pertama

• Peter Coad telah mengenalkan konsep dasar metode object oriented pada buku-bukunya bersama Yourdon pada tahun 1990 sampai 1991. Metode Coad ini sempat tenar karena menggunakan bahasa pemrograman C++, yang menjadi bahasa pemrograman object oriented yang popular saat itu.

Page 5: PENDAHULUAN Object Oriented Programming

• Selanjutnya dimulailah era pembuatan buku Analisa dan desain object oriented, diantaranya• OMT (Object Modeling Technique) yang diperkenalkan

oleh James Rumbaugh tahun 1991. Metode OMT ini mengadopsi dari metode Coad.

• Martin-Odell (1992)• OOSE (Object Oriented Software Engineering) yang

diperkenalkan Ivar Jacobson tahun 1992. Metode ini menekankan bahwa tahap analisa seharusnya dimulai dengan tool use case daripada dengan tool class model. Sehingga sebuah class dapat dibentuk berdasarkan use case. Teknik ini menjadi sebuah langkah maju dalam analisa object oriented dan telah secara luas dipakai.

Page 6: PENDAHULUAN Object Oriented Programming

• RDD (Responsibility-Driven Design) yang diperkenalkan oleh Wirfs-Brocks tahun 1990, yang menggunakan bahasa pemrograman smalltalk

• OBA (Object behaviour Analysis) yang diperkenalkan Goldberg dan Rubin tahun 1992, yang menggunakan bahasa pemrograman smalltalk yang tidak sepenuhnya dipublikasikan

• BON (Business Object Notation) yang diperkenalkan oleh Walden dan Nerson tahun 1995

• MOSES yang diperkenalkan oleh Henderson-Sellers dan Edwards tahun 1994

• SOMA yang diperkenalkan oleh Graham tahun 1995 yang dipengaruhi oleh metode MOSES.

Page 7: PENDAHULUAN Object Oriented Programming

• Pada tahun 1994 ada 72 lebih metode object oriented. Masyarakat Object Oriented menyadari bahwa semakin berkembangnya metode ini maka perlu adanya standarisasi. Apalagi ada beberapa metode object oriented yang bergabung, diantaranya :– coleman dan Malan– MOSES dan SOMA– dll– RDD (Responsibility-Driven Design) yang diperkenalkan oleh RDD (Responsibility-Driven Design) yang diperkenalkan oleh

Wirfs-Brocks tahun 1990, yang menggunakan bahasa Wirfs-Brocks tahun 1990, yang menggunakan bahasa pemrograman smalltalkpemrograman smalltalk

– OBA (Object behaviour Analysis) yang diperkenalkan Goldberg OBA (Object behaviour Analysis) yang diperkenalkan Goldberg dan Rubin tahun 1992, yang menggunakan bahasa pemrograman dan Rubin tahun 1992, yang menggunakan bahasa pemrograman smalltalk yang tidak sepenuhnya dipublikasikansmalltalk yang tidak sepenuhnya dipublikasikan

– BON (Business Object Notation) yang diperkenalkan oleh Walden BON (Business Object Notation) yang diperkenalkan oleh Walden dan Nerson tahun 1995 dan Nerson tahun 1995

– MOSES yang diperkenalkan oleh Henderson-Sellers dan MOSES yang diperkenalkan oleh Henderson-Sellers dan Edwards tahun 1994 Edwards tahun 1994

– SOMA yang diperkenalkan oleh Graham tahun 1995 yang SOMA yang diperkenalkan oleh Graham tahun 1995 yang dipengaruhi oleh metode MOSES. dipengaruhi oleh metode MOSES.

Page 8: PENDAHULUAN Object Oriented Programming

• Pada tahun 1994 ada 72 lebih metode object Pada tahun 1994 ada 72 lebih metode object oriented. Masyarakat Object Oriented menyadari oriented. Masyarakat Object Oriented menyadari bahwa semakin berkembangnya metode ini maka bahwa semakin berkembangnya metode ini maka perlu adanya standarisasi. Apalagi ada beberapa perlu adanya standarisasi. Apalagi ada beberapa metode object oriented yang bergabung, metode object oriented yang bergabung, diantaranya :diantaranya :– coleman dan Malancoleman dan Malan– MOSES dan SOMAMOSES dan SOMA– dlldll

Page 9: PENDAHULUAN Object Oriented Programming

Sejarah UML (Unified Modeling Language)

• Pada Oktober 1994, Dr. James Rumbaugh bergabung dengan Perusahaan Rational sotware, dimana Grady Booch sudah bekerja disana sebelumnya. Grady Booch mengembangkan Object Oriented Design (OOD) dan Dr. James Rumbaugh mengembangkan Object Modeling Technique (OMT). Duet Mereka pada Oktober 1995 menghasilkan Unified Method versi 0.8.

• Musim gugur 1995 Dr. Ivar Jacobson ikut pula bergabung dengan duet Rumbaugh-Booch, dengan memperkenalkan tool use case. Trio tersebut pada bulan Juni 1996 menghasilkan Unified Modeling Language (UML) versi 0.9. Sebelumnya Dr. Ivar Jacobson mengembangkan Object Oriented Software Engineering (OOSE)

Page 10: PENDAHULUAN Object Oriented Programming

• Trio ini mengembangkan Ratinal Unified Process (RUP) • Banyak perusahaan software merasakan bagaimana pentingnya

UML dalam tujuan strategis mereka, sehingga beberapa perusahaan membentuk sebuah konsorsium yang terdiri dari perusahaan-perusahaan seperti

• Microsoft• Oracle• IBM• Hewlett-Packard• Intellicorp • I-Logix• DEC, Digital Equipment Corp.• texas instrument

Page 11: PENDAHULUAN Object Oriented Programming

• Dari konsorsium tersebut pada bulan Januari 1997 lahirlah UML versi 1.0

• Pada bulan September 1997 lahirlah UML versi 1.1, dengan 8 buah diagram, yaitu

• Use case diagram• Activity diagram• Sequence diagram• Collaboration diagram • Class diagram• Statechart diagram• Component diagram• Deployment diagram

Page 12: PENDAHULUAN Object Oriented Programming

• Pada bulan November 1997 sebuah organisasi non profit standarisasi Object Management Group (OMG) mengakui UML sebagai sebuah bahasa pemodelan standar untuk aplikasi object oriented.

• OMG didirikan pada bulan April 1989 oleh sebelas perusahaan software, dengan kantor pusat di Needham, MA, USA. (www.omg.org)

• Pada tahun 1999 lahirlah UML versi 1.3, menjadi 9 buah diagram, dengan penambahan• Business use case diagram

Page 13: PENDAHULUAN Object Oriented Programming

• Pada May 2001 lahirlah UML versi 1.4, menjadi 10 buah diagram, dengan penambahan• Object Diagram

• Pada tahun 2002 lahirlah UML versi 2.0, menjadi 13 buah diagram,dengan penambahan dan penggantian yaitu :1.Use case diagram2.Activity diagram3.Sequence diagram4.Communication Diagram (Collaboration diagram in versi 1.x)5.Class diagram6.State Machine Diagram (Statechart diagram in versi 1.x)7.Component diagram8.Deployment diagram9.Composite Structure Diagram10.Interaction Overview Diagram11.Object Diagram12.Package Diagram13.Timing Diagram

Page 14: PENDAHULUAN Object Oriented Programming
Page 15: PENDAHULUAN Object Oriented Programming

Object Oriented analysis and design concept

• Object

Adalah “benda”, secara fisik atau konseptual (orang,hardware, software, dll)

• Setiap object memiliki 2 ciri khas yaitu :

– Atribut/property/data

Ciri khas object (what they have)

– Methode/behavior/function

Apa yang dapat dilakukan oleh object (what they do)

Contoh :

Andi

Object

• Atribut:

• - tinggi

• - umur

• - berat

Metode : Jalan, lari , lompatMetode : Jalan, lari , lompat

Page 16: PENDAHULUAN Object Oriented Programming

ClassKumpulan object yang sejenis

• InheritanceAdalah penurunan atribut atau methode dari suatu object kepada object lainnya

Manusia call Base ObjectUmur, tinggi, beratUmur, tinggi, berat

Jalan, lari lompatJalan, lari lompat

• BAYI call Derive Object • - tinggi, umur, berat• * merangkak

• KAKEK• - tinggi, umur, berat• * jalan, tidur, mandi

Page 17: PENDAHULUAN Object Oriented Programming

Modeling with UML versi 2.0• Pemodelan dengan UML ada 13 diagram yang terbagi

menjadi 3 kategori yaitu• Structure diagram

Menggambarkan elemen dari spesifikasi yang mengabaikan time• Class diagram• Object diagram • Component Diagram• Deployment Diagram• Composite structure diagram• Package diagram

Page 18: PENDAHULUAN Object Oriented Programming

• Behavior diagramMenggambarkan cirri-ciri behavior/methode/function dari sebuah system atau business process• Use case Diagram• Activity Diagram• State Machine Diagram

• Interaction diagramBagian dari behavior diagram yang menggambarkan object interactions• Communication• Interaction Overview• Sequence• Timing

Page 19: PENDAHULUAN Object Oriented Programming

ARTIFACT UML

Actor A

Use Case 1

Use Case 2

Actor B

user : »ç¿ëÀÚ

mainWnd : MainWnd

fileMgr : FileMgr

repository : Repositorydocument : Document

gFile : GrpFile

9: sortByName ( )

L1: Doc view request ( )

2: fetchDoc( )

5: readDoc ( )

7: readFile ( )

3: create ( )

6: fillDocument ( )

4: create ( )

8: fillFile ( )

GrpFile

read( )open( )create( )fillFile( )

rep

Repository

name : char * = 0

readDoc( )readFile( )

(from Persistence)

FileMgr

fetchDoc( )sortByName( )

DocumentList

add( )delete( )

Document

name : intdocid : intnumField : int

get( )open( )close( )read( )sortFileList( )create( )fillDocument( )

fList

1

FileList

add( )delete( )

1

File

read( )

read() fill the code..

UI

MFC

RogueWave

global

DocumentApp

Persistence Window95

¹®¼ °ü¸® Ŭ¶óÀ̾ðÆ®.EXE

WindowsNT

¹®¼ °ü¸® ¿£Áø.EXE

WindowsNT

Windows95

Solaris

ÀÀ¿ë¼ ¹ö.EXE

AlphaUNIX

IBM Mainframe

µ¥ÀÌŸº£À̽º¼ ¹ö

Windows95

¹®¼ °ü¸® ¾ÖÇø´

ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨ - À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ® - À©µµ¿ì NT: ÀÀ¿ë¼ ¹ö - À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼ ¹ö ¹× µ¥ÀÌŸ ¼ ¹ö, Åë½Å ¼ ¹ö - IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼ ¹ö, Åë½Å ¼ ¹ö

Document

FileManager

GraphicFileFile

Repository DocumentList

FileList

user

mainWnd fileMgr : FileMgr

repositorydocument : Document

gFile

1: Doc view request ( )

2: fetchDoc( )

3: create ( )

4: create ( )

5: readDoc ( )

6: fillDocument ( )

7: readFile ( )

8: fillFile ( )

9: sortByName ( )

ƯÁ¤¹®¼ ¿¡ ´ëÇÑ º¸±â¸¦ »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.

È ÀÏ°ü¸®ÀÚ´Â Àоî¿Â ¹®¼ ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼ °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.

È ̧é °´Ã¼´Â ÀоîµéÀÎ °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑ È ̧é¿¡ º¸¿©ÁØ´Ù.

Customernameaddr

withdraw()fetch()send()

receive()

<<entity>>

Forward Engineering(Code Generation)and

Reverse Engineering

Executable System

User InterfaceDefinition

Domain Expert

Openning

Writing

ReadingClosing

add file [ numberOffile==MAX ] / flag OFF

add file

close file

close file

Use Case 3

Source Code edit, compile, debug, link

Use-Case Diagram

Class Diagram

Collaboration Diagram

Sequence Diagram

Component Diagram

State Diagram

Package Diagram

Deployment DiagramClass

Page 20: PENDAHULUAN Object Oriented Programming

DIAGRAM-DIAGRAM DI UML

DeploymentDiagram

DeploymentDiagram

Use CaseDiagrams

Use CaseDiagramsUse Case

Diagrams

Use CaseDiagramsUse Case

Diagrams

Use CaseDiagrams

ScenarioDiagrams

ScenarioDiagramsScenario

Diagrams

ScenarioDiagramsSequence

Diagrams

SequenceDiagrams

StateDiagrams

StateDiagramsState

Diagrams

StateDiagramsState

Diagrams

StateDiagrams

ComponentDiagrams

ComponentDiagramsComponent

Diagrams

ComponentDiagramsComponentDiagrams

ComponentDiagrams

Model

StateDiagrams

StateDiagramsState

Diagrams

StateDiagramsObject

Diagrams

ObjectDiagrams

ScenarioDiagrams

ScenarioDiagramsScenario

Diagrams

ScenarioDiagramsCollaboration

Diagrams

CollaborationDiagrams

Use CaseDiagrams

Use CaseDiagramsUse Case

Diagrams

Use CaseDiagramsActivity

Diagrams

ActivityDiagrams

StateDiagrams

StateDiagramsState

Diagrams

StateDiagramsClass

Diagrams

ClassDiagrams

Page 21: PENDAHULUAN Object Oriented Programming

Class Diagram Object Diagram Component Diagram Deployment Diagram

Use Case Diagram Sequence Diagram Collaboration Diagram Statechart Diagram Activity Diagram

Structural DiagramsStructural Diagrams

Behavioral DiagramsBehavioral Diagrams

9 DIAGRAM UML

Page 22: PENDAHULUAN Object Oriented Programming

SequenceDiagrams

Dynamic views

Static views

CollaborationDiagrams

ActivityDiagrams

StatechartDiagrams

ClassDiagrams

ObjectDiagrams

ComponentDiagrams

DeploymentDiagrams

Use CaseDiagrams

Model

Some part ofthe model might not be visible on

any diagram

Page 23: PENDAHULUAN Object Oriented Programming

Sumber Referensi:1. Jeffrey L. Whitten, Lonnie D. Bentley, Kevin C. Dittman, “System

Analysis and Design Methods”, 5th edition, McGraw-Hill Irwin, 2. Joseph Schmuller, “Teach Yourself UML in 24 hours”, SAMS,

Indiana, USA, 19993. Wendy Boggs, Michael Boggs, “Mastering UML with Rational

Rose 2002”, Sybex, 2002 4. Ronald J. Norman, “Object Oriented Systems Analysis and

Design”,Prentice Hall, 19965. Scott W. Ambler,”The elements of UML style”,Cambridge

University Press 20036. Hans-Erik Eriksson, “UML2 Toolkit” , 20047. www.OMG.org,“UML 2.0 Superstructure Specification”,20048. www.rational.com/uml9. www.OMG.org10. www.agilemodeling.com11. www.modelingstyle.org