pendahuluan object oriented programming
Post on 14-Jan-2016
47 Views
Preview:
DESCRIPTION
TRANSCRIPT
PENDAHULUANPENDAHULUAN
Object Oriented ProgrammingObject 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
• - 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
• 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.
• 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.
• 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.
• 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.
• 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
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)
• 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
• 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
• 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
• 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
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
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
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
• 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
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
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
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
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
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
top related