Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Rekayasa Perangkat Lunak OOAD UML. Analisis Analisis adalah proses mendekomposisi atau menginvestigasi domain problem atau requirements menjadi bagian-bagian.

Presentasi serupa


Presentasi berjudul: "Rekayasa Perangkat Lunak OOAD UML. Analisis Analisis adalah proses mendekomposisi atau menginvestigasi domain problem atau requirements menjadi bagian-bagian."— Transcript presentasi:

1 Rekayasa Perangkat Lunak OOAD UML

2 Analisis Analisis adalah proses mendekomposisi atau menginvestigasi domain problem atau requirements menjadi bagian-bagian yang kita mengerti. Proses analisis lebih menekankan kepada pertanyaan seperti apakah system yang akan kita kerjakan, bagaimana system tersebut digunakan sehari-hari oleh user dan lainya.

3 Disain/Perancangan Perancangan adalah melakukan sintesa model software dari problem yang kita analisis, menterjemahkan domain model kepada software model sehingga bisa dimengerti dan dikomunikasikan kepada anggota tim lain dan juga para profesional software lainnya.

4

5 Pendekatan Terstruktur Karakteristik Utama dalam Pendekatan Terstruktur : – Penekanan pada sesuatu yang harus dikerjakan (algoritma pemecahan masalah). – Program berukuran besar dipecah-pecah menjadi program-program yang lebih kecil. – Kebanyakan fungsi & prosedur berbagi data global – Data bergerak secara bebas dalam sistem, dari satu fungsi ke fungsi yang lain yang terkait. – Fungsi-fungsi mentransformasikan data dari satu bentuk ke bentuk yang lain. – Pendekatan adalah pendekatan top-down.

6 Pendekatan Berorientasi Object Karakteristik yang menjadi ciri-ciri dari pendekatan berorientasi object adalah : – Pendekatan lebih pada object itu sendiri yang mengkombinasikan data dan fungsionalitas dan bukan hanya pada prosedur/fungsi saja. – Program besar dibagi menjadi object-object – Struktur data dirancang dan menjadi karakteristik dari object-object. – Fungsi-fungsi yang mengoperasikan data tergabung dalam suatu object yang sama. – Data tersembunyi dan terlindung dari fungsi/prosedur yang ada di luar – Object-object dapat saling berkomunikasi dengan saling mengirim message (pesan) satu sama lain. – Pendekatan adalah bottom-up.

7

8 Object-oriented development OOA Mempelajari domain permasalahan bisnis untuk merekomendasikan perbaikan dan menentukan kebutuhan sistem untuk menyelesaikan permasalahan. OOD Menentukan solusi teknis atau rancangan/computer-based dimana solusi ini berdasarkan kebutuhan sistem yang telah diidentifikasi pada proses analisis. OOP is concerned with realising an OOD using an OO programming language such as Java or C++.

9 Analisis / OOA Perancangan / OOD Pendekatan Terstruktur a. DFD b. ERD c. Flowchart d. STD Pendekatan Berorientasi Objek UML: a. Use Case Diagram b. Class Diagram c. Activity Diagram d. dst Proses Pengembangan P/LPemodelan perangkat lunak Metodologi Terstruktur Metodologi Objek OOAD OOP

10 Analisis Berorientasi Objek (OOA) Analisis berorientasi object menekankan kepada menemukan dan menjelaskan object-object dan interelasinya yang menjadi bagian atau pemain dalam sebuah system. Misalnya dalam system penjualan (Point of Sale) system, proses analisis berorientasi object mengidentifikasikan object Pelanggan, Kasir, Mesin Register, dan Penjualan.

11 Pendekatan analisis berbasis objek Saat mengabstraksikan dan memodelkan objek mi, data dan proses-proses yang dipunyai oleh objek akan dienkapsulasi (dibungkus) menjadi satu kesatuan. Dalam rekavasa perangkat lunak. konsep pendekatan berorientasi objek dapat diterapkan pada tahap analisis. perancangan. pemrograman, dan pengujian perangkat lunak. Ada berbagai teknik yang dapat digunakan pada masing-masing tahap tersebut, dengan aturan dan alat bantu pemodelan tertentu.

12 Pendekatan analisis berbasis objek Suatu teknik atau cara pendekatan baru dalam melihat permasalahan dan sistem (sistem perangkat lunak. System informasi, atau sistem lainnva). Pendekatan berorientasi objek akan memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang berkorespondensi dengan objek-objek dunia nyata. Ada banvak cara untuk mengabstraksikan dan memodelkan objek-objek tersebut, mulai dan abstraksi objek. kelas. hubungan antar kelas sampai abstraksi sistem.

13 OOA Roni Yunis, S.Kom., M.T. Proses analisis bertujuan untuk: – Memodelkan konsep pada domain persoalan dalam masing-masing objek – Mengambarkan hubungan antar objek-objek tersebut – Mengambarkan secara umum komunikasi antar objek – Memodelkan domain persoalan dari berbagai sudut pandang

14 Pemodelan Sistem ModelAnalisisPerancangan TerstrukturFlowchart Sistem Data flow Diagram Logis Flowchart Program DFD Fisik STD ObjekUML: Use Case Diagram Activity Diagram UML: Class Diagram Activity Diagram Sequence Diagram Komponen Diagram

15 Disain Berorientasi Objek (OOD) Perancangan berorientasi object memodelkan object-object yang diidentifikasi pada proses analisis dan interaksi antar object ke dalam model software. Misalnya dalam system penjualan (Point of Sale), terdapat proses 'Membeli Barang'. Proses ini dideskripsikan sebagai interaksi antara object Pelanggan dengan Kasir yang menggunakan Mesin Register untuk menciptakan (secara model) object Penjualan.

16 Disain Berorientasi Objek (OOD) Dalam tahap ini kita menentukan bahwa object Pelanggan memiliki atribut seperti nomor pelanggan dan nama, memiliki operasi/fungsi membeli. Dalam proses 'Membeli Barang' object Pelanggan ini berinteraksi dengan object Mesin Register yang dijalankan oleh Kasir. Proses perancangan selanjutnya bisa mengidentifikasi atribut dan operasi object-object lainnya

17 OOD Proses perancangan bertujuan untuk: – Mengambarkan secara detail komunikasi antar objek – Menentukan objek2 pendukung lain, selain objek2 domain persoalan – Menentukan pemilahan sistem – Menentukan ciri objek secara detil – Menetapkan penggunaan objek2 pustaka yang telah tersedia

18 Kenapa OOAD Karena : – Memudahkan pemanfaatan ulang code dan arsitektur – Lebih mencerminkan dunia nyata (lebih tepat dalam menggambarkan entitas perusahaan, dekomposisi berdasarkan pembagian yang natural, lebih mudah untuk dipahami dan dirawat) – Kestabilan (perubahan kecil dalam requirement tidak berarti perubahan yang signifikan dalam system yang sedang dikembangkan) – Lebih mudah disesuaikan dengan perubahan

19 Kenapa OOAD Melihat segala hal sebagai sebuah objek Komunikasi/Interaksi antar objek dilakukan melalui pengiriman pesan (message) Objek bersifat independen : dipandang sebagai sebuah entitas mandiri yang memiliki peran atau tanggung jawab tertentu Objek Di Sekitar Kita?

20

21 Keuntungan Menggunakan OOA dan OOD Perancangan berorientasi objek dibandingkan metode analisis konvensional lebih baik Menangani domain persoalan yang makin menantang Meningkatkan interaksi antara analisis dan domain persoalan Meningkatkan konsistensi internal antara analisis, perancangan dan pemograman Secara eksplisit menyatakan kesamaan antara kelas dan objek Membuat spesifikasi yang telah tangguh terhadap perubahan Mengguna-ulang hasil OOA, OOD dan OOP Menyediakan representasi yang konsisten antara analisis, perancangan dan pemograman

22 Hasil Utama OOA dan OOD Mengurangi kompleksitas persoalan dalam pengembangan sistem Mengatasi kompleksitas dengan cara-cara yang tidak dimiliki oleh metode lain. Abstraksi Enkapsulisasi Inheritance Asosiasi Komunikasi dengan pesan Objek & atribut, whole & part, dan kelas Skala Kategori kelakuan (Penyebab langsung, perubahan sejalan waktu, kesamaan fungsi)

23 Perancangan Berbasis Objek (Object-oriented Analysis and Design / OOAD) Pendekatan berorientasi objek merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Seiring dengan trend sebuah metodologi dibangun untuk membantu programmer dalam mengunakan bahasa pemrograman berorientasi obyek. Metodologi ini dikenal dengan object-oriented analysis and design (OOAD).

24 Metode OOAD melakukan pendekatan terhadap masalah dari perspektif obyek, tidak pada perspektif fungsional seperti pada pemrograman tersrtuktur. Akhir-akhir ini penggunakan OOAD meningkat dibandingkan dengan pengunaan metode pengembangan software dengan metode tradisional. Sebagai metode baru dan sophisticated bahasa pemrograman berorientasi obyek diciptakan, hal tersebut untuk memenuhi peningkatan kebutuhan akan pendekatan berorientasi obyek pada aplikasi bisnis. Perancangan Berbasis Objek (Object-oriented Analysis and Design / OOAD)

25 Pendekatan perancangan sistem berorientasi objek adalah suatu teknik pendekatan baru dalam melihat permasalahan dan sistem (system perangkat lunak, sistem informasi, atau system lainnya). Pendekatan ini memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek-objek dunia nyata. Perancangan Berbasis Objek (Object-oriented Analysis and Design / OOAD)

26 Terdapat beberapa cara untuk mengabstraksikan dan memodelkan objek- objek tersebut, yaitu abstraksi objek, kelas, hubungan antar kelas sampai abstraksi sistem. Saat mengabstraksikan dan memodelkan objek, data dan proses- proses yang dipunyai oleh objek akan dienkapsulasi (dibungkus) menjadi satu kesatuan. Dalam rekayasa perangkat lunak, konsep pendekatan berorientasi objek dapat diterapkan pada tahap analisis, perancangan, pemrograman, dan pengujian perangkat lunak. Ada berbagai teknik yang dapat digunakan pada masing- masing tahap tersebut, dengan aturan dan alat bantu pemodelan tertentu. Perancangan Berbasis Objek (Object-oriented Analysis and Design / OOAD)

27 Karakteristik atau sifat Pendekatan Objek Abstraksi, yaitu prinsip untuk merepresentasikan dunia nyata yang kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan. Enkapsulasi, yaitu pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai objek. Pewarisan (Inheritance), yaitu mekanisme yang memungkinkan satu objek mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dan dirinya. Reusability, yaitu pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahan pada permasalahan lainnya yang melibatkan objek tersebut.

28 Memahami istilah dalam OO Obyek : komponen di dalam sebuah program Property : karakteristik yang dimiliki obyek Method : aksi yang dapat dilakukan oleh obyek Event : kejadian yang dapat di alami oleh obyek

29

30 Mahasiswa Properti Method Event NPM Nama Jenis kelamin Alamat No_tlp Kuliah aktif Cuti Ujian DO wisuda

31 Karakteristik atau sifat Pendekatan Objek (Lanjutan) Generalisasi dan Spesialisasi, yaitu menunjukkan hubungan antara kelas dan objek yang umum dengan kelas dan objek yang khusus. Komunikasi Antar Objek, yaitu dilakukan lewat pesan yang dikirim dari satu objek ke objek lainnya. Polymorphism, yaitu kemampuan suatu objek untuk digunakan di banyak tujuan yang berbeda dengan nama yang sama, sehingga menghemat baris program.

32 Inheritance (Pewarisan) Adalah konsep yang menyatakan bahwa metode atau atribut dalam kelas dapat diturunkan atau digunakan kembali oleh kelas lain.

33

34 Pewarisan (cont’d)

35 Kelebihan Pendekatan Berorientasi Objek Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan system Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD (Sommerville, 2000). Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan sistem. Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi. Relasi obyek dengan entitas (thing) umumnya dapat di mapping dengan baik seperti kondisi pada dunia nyata dan keterkaitan dalam sistem. Hal ini memudahkan dalam mehami desain (Sommerville, 2000).

36 Kelebihan Pendekatan Berorientasi Objek Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks (Booch, 2007). Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga. OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek. Dekomposisi obyek, memungkinkan seorang analis untuk memcah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang dimanage secara terpisah. Kode program dapat dikerjakan bersama- sama. Metode ini memungkinkan pembangunan software dengan cepat, sehingga dapat segera masuk ke pasaran dan kompetitif. Sistem yang dihasilkan sangat fleksibel dan mudah dalam memelihara.

37 Kekurangan Pendekatan Berorientasi Objek Pada awal desain OOAD, sistem mungkin akan sangat simple. Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD. Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD. Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem. Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis terhadap fungsional siste, sementara metode OOAD tidak berbasis pada fungsional sistem.

38 Kekurangan Pendekatan Berorientasi Objek OOAD merupakan jenis manajemen proyek yang tergolong baru, yang berbeda dengan metode analisis dengan metode terstruktur. Konsekuensinya adalah, team developer butuh waktu yang lebih lama untuk berpindah ke OOAD, karena mereka sudah menggunakan SSAD dalam waktu yang lama ( Hantos, 2005). Metodologi pengembangan sistem dengan OOAD menggunakan konsep reuse. Reuse merupakan salah satu keuntungan utama yang menjadi alasan digunakannya OOAD. Namun demikian, tanpa prosedur yang emplisit terhadap reuse, akan sangat sulit untuk menerapkan konsep ini pada skala besar (Hantos, 2005).

39 Tools Pendekatan Berorientasi Objek Rational Unified Process (RUP) (Rational Software – IBM 2003) Fusion (Coleman 1994) STS development Method 3 (ADM3) (Firesmith 1993) Berard’s object-oriented design (Berard 1991) Booch’s object-oriented design (Booch 1983, 1991) Coad and Yourdon’s object – oriented analysis (Coad & Yourdon 1989) Coad and Yourdon’s object-oriented analysis (OOA) (Coad & Yourdon 1991) Jacobson’s Objectory (Jacobson & Linstrom 1992) Rumbaugh’s object modelling technique (OMT) (Rumbaugh et al. 1991) Object-oriented system analysis (OOA) (Shlaer & Mellor 1988)

40 Perbedaan Pendekatan Terstruktur dengan Pendekatan Berorientasi Objek

41 OBJECT ORIENTED DATABASE

42 PENGERTIAN OBJECT ORIENTED DATABASE Object-oriented database adalah salah satu jenis database dimana data direpresentasikan dalam bentuk object. Object Oriented Database merupakan sebuah sistem data base yang menggabungkan semua konsep penting dari object oriented. Pendekatan ini sangat dipengaruhi oleh bahasa pemrograman object-oriented dan dapat dipahami sebagai usaha untuk menambah fungsionalitas DBMS pada lingkup bahasa pemrograman.

43 Kelebihan OODB Bisa menspesifikasikan structure dari object dan behaviornya (methods). Interaksi yang lebih baik dengan bahasa pemrograman berorientasi object seperti java dan C++ Definisi kompleks dan user-defined jenis Enkapsulasi operasi dan user-defined metode

44 OODBMS OODBMS merupakan database management system (DBMS) yang mendukung pemodelan dan pembuatan data sebagai objek.

45 Keuntungan dan Kerugian OODBMS Keuntungan: – Gabungan objek dan relationship – Class Hirarki – Menggagalkan kebutuhan Query – Tidak ada Primary Key 1 Data model Kerugian : – Perubahan schema – Ketergantungan Bahasa – Kekurangan Query Ad Hoc

46 UML

47 Apa Itu UML ? UML disebut sebagai bahasa yang telah distandarisasi untuk digunakan dalam memodelkan suatu sofware atau sistem. UML sebagai bahasa yang memberikan vocabulary dan tatanan penulisan kata untuk kegunaan komunikasi. Sebuah bahasa model, yaitu bahasa yang mempunyai vocabulary dan konsep tatanan atau aturan penulisan serta secara fisik mempresentasikan dari sebuah sistem.

48 Apa itu UML (Cont’d) UML adalah bahasa standart untuk pengembangan sebuah sistem yang dapat menyampaikan bagaimana membuat dan membentuk model-model, tetapi tidak dapat menyampaikan kapan dan apa model yang seharusnya dibuat. UML bukan saja merupakan bahasa visual saja, namun juga dapat secara langsung dihubungkan ke berbagai bahasa pemrograman, seperti JAVA, C++, Visual Basic atau bahkan dihubungkan secara langsung kedalam OODB. Pendokumentasiannya : requirement, arsitektur, design, source code, project plan, test dan prototype.

49 Sejarah UML Pendekatan analisa dan rancangan dengan model OO diperkenalkan sejak 1970-akhir Jumlah yang menggunakan metode OO mulai diuji coba dan diaplikasikan antara 1989 hingga OOSE (Object Oriented Software Engineering) oleh Grady Booch dari Rational Software Co, dan James Rumbaugh dari General Electric yang dikenal dengan OMT (Object Modelling Language) Standarasisasi -> UML (Oktober 1994) UML di standarisasi oleh OMG (Object Management Group)

50 Diagram-diagram dalam UML 1.Use Case Diagram 2.Class Diagram 3.Statechart Diagram 4.Activity Diagram 5.Sequence Diagram 6.Collaboration Diagram 7.Component Diagram 8.Deployment Diagram

51 Diagram-diagram dalam UML Use Case Diagram Use case diagram menggambarkan secara grafis perilaku software aplikasi. Class Diagram Class adalah sebuah spesifikasi yang diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class diagram menggambarkan struktur dan deskripsi class, package, dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi dan lain–lain. Statechart Diagram Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state yang lain) suatu objek pada sistem sebagai akibat dari stimuli yang diterima.

52 Diagram-diagram dalam UML Activity Diagram Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing–masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Sequence Diagram Sequence diagram menggambarkan interaksi antar objek didalam dan di sekitar sistem berupa waktu yang digambarkan terhadap waktu. Collaboration Diagram Collaboration diagram juga menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing–masing objek dan bukan pada waktu penyampaian message.

53 Diagram-diagram dalam UML Component Diagram Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) diantaranya. Deployment Diagram Deployment diagram menggambarkan detail bagaimana komponen dideploy dalam infrastruktur sistem, dimana komponen akan terletak, bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal–hal lain yang bersifat fisik.

54 Beberapa Metode Berorientasi Objek Ada beberapa metode pengembangan perangkat lunak berorientasi objek yang sudah dikenal, dan diantaranva adalah: – Object Oriented Analysis (OOA) dan Object Oriented Design (OOD) dari Peter Coad dan Edward Yourdon [1990]. – Object Modeling Technique (OMT) dan James Rumbaugh, Michael Blaha, William Premerlan, Frederick Eddy dan William Lorensen [1991] – Object Oriented Software Engineering (OOSE) dan Ivar Jacobson [1992] – Booch Method dan Grady Booch [1994] – Sritrop dan Steve Cook dan John Daniels [1994]. – UML (Unified Modeling Language) dari James Rumbaugh. Grady Booch dan Ivar Jacobson [1997].

55 Jenis Perangkat Pemodelan Diagram Arus Data (DFD) – Menunjukkan proses yang dijalankan data dalam sistem Kamus Data – Definisi elemen data dalam sistem Entity Relationship Diagram (ERD) – Model penyimpanan data dalam DFD State Transition Diagram (STD) – Menunjukkan keadaan tertentu dimana suatu sistem dapat ada dan transisi yang menghasilkan keadaan tertentu yang baru. STD digunakan untuk sistem yang real time. Unified Modelling Language (UML) – Digunakan untuk pemrograman berorientasi objek

56 Use case Use case diagram Glosarium use case Sekenario use case

57 4+1 Architecture Model Scenarios System & Environment Logical view Process view Development view Physical view

58 Flow of Architecture Process Use Case System & Environment Logical view Process view Development view Physical view

59 UML Diagram for Architecture Use Case View Use Case System & Environment Logical view Process view Development view Physical view Use Case Diagram

60 UML Diagram for Architecture Logical View Use Case System & Environment Logical view Process view Development view Physical view Sequence Diagram Communication Diagram* Class Diagram Sequence Diagram Communication Diagram* Class Diagram

61 UML Diagram for Architecture Development View Use Case System & Environment Logical view Process view Development view Physical view Component Diagram* Package Diagram Component Diagram* Package Diagram

62 UML Diagram for Architecture Process View Use Case System & Environment Logical view Process view Development view Physical view Activity Diagram*

63 UML Diagram for Architecture Physical View Use Case System & Environment Logical view Process view Development view Physical view Deployment Diagram*

64 Class Diagram

65 Class diagram mendeskripsikan jenis–jenis obyek dalam sistem dan berbagai macam hubungan statis yang terjadi Class diagram juga menunjukkan property dan operasi sebuah Class dan batasan yang terdapat dalam hubungan dengan obyek. Class diagram merupakan alat terbaik dalam perancangan perangkat lunak. Class diagram membantu pengembang mendapatkan struktur sistem dan menghasilkan rancangan sistem yang baik

66

67 Class Diagram (lanjutan) Class diagram merupakan diagram yang paling umum dijumpai pada pemodelan berbasis UML (Unified Modeling Language). Mendeskripsikan semua objek yang terdapat pada suatu sistem dan relasi antar objek. Class diagram mencakup beberapa hal seperti : – Class, atribut, dan operasinya – Relasi yang terjadi antar objek – Constraint terhadap objek-objek yang saling berhubungan – Inheritance untuk organisasi class

68 Analisis class Class diagram

69 Notas Class Diagram Class – Nama class – Atribut – Operasi Relationships – Association atau Asosiasi Directional Association atau Asosiasi 1 arah Asosiasi2 arah (Bidirectional Association) – Depedency atau Dependensi – Aggregation atau Agregasi – Composition atau Komposisi – Realization atau Realisasi – Generalization atau Generalisasi Multiplicity

70 Class Class Adalah sebuah kategori yang akan membungkus informasi dan perilaku2 atau dengan kata lain kelas adalah rancangan dari obyek. Dimana obyek yang diciptakan dari suatu kelas akan memiliki semua yang dimiliki oleh kelasnya. Sebuah class berisi deskripsi dari struktur dan prilaku dari objek. Objek diproduksi oleh kelas dan menjadi bagian dari unit suatu aplikasi. Kelas didefinisikan terbentuk dari atribut(attributes) dan operasi(operations).

71 MotorcyclePersonBook REALITY MODEL

72 MotorcyclePersonBook REALITY MODEL

73 MotorcyclePersonBook REALITY MODEL OwnsReads

74 CLASS OBJECT

75 Person CLASS OBJECT BudiTutiMurni

76 How Many Classes?

77

78 Class (lanjutan) Kelas dinotasikan dengan suatu persegi (rectangle) yang mana bagian namanya diberi tulisan tebal dan terdiri dari atribut dan opersi. Yang kedua, ada tiga bagian dari kelas yaitu nama kelas, atribut (attributes), dan operasi(operations) yang dipisahkan oleh garis horizontal. Nama kelas dimulai dengan huruf kapital dan kata benda tunggal (tetapi juga bisa kata benda jamak jika itu diperlukan). Secara umum kelas dalam UML dinotasikan sebagai berikut: Nama Class Daftar Atribut Daftar Operasi Nama Nama kelas haruslah unik, karena ini adalah identitas yang dimiliki oleh setiap Class.

79 E-R ModellingClass Diagram EntityObject Class InstanceObject Attribute RelationshipAssociation InstanceObject CardinalityMultiplicity N/AOperation/Method/Function E-R Vs. CLASS DIAGRAM

80 A class is similar to an entity type except that it can have operations. A Class has: –Name –Attributes –Operations A class is drawn as a rectangle with three compartments ER-D Contoh (con’t) CLASS DIAGRAM (con’t) Employees Ssn : int Name : String Addr : int CLASS DIAGRAN add_employee(…) delete_emloyee(…) update_salary(…) Employees Ssn Name Address Name Attributes Operations

81 CLASS DIAGRAM MAHASISWA + NIM:String + NAMA:String + ALAMAT:String + TGLLAHIR:Date tambahMhs() updateMhs() hapusMhs() Nama Class Attribut Class Behaviour Class NIM : 2 digit pertama adalah tahun, digit 3 dan 4 adalah angkatan, digit 5 adalah jenjang Keterangan (tambahan / option)

82 Class Membantu dalam visualisasi struktur kelas-kelas dari suatu system dan hubungan antar kelas (inheritance, aggregation, and association) dan penjelasan detail tiap kelas (methode/function/behavior dan atribut/property/data) Diagram ini merupakan fondasi untuk component diagram dan deployment diagram Diagram paling penting pada object oriented analysis and design Class digambarkan dengan sebuah kotak dengan 3 section Disarankan untuk tidak menggambar tanpa 3 section ini Kadang-kadang boleh ada section tambahan untuk menggambarkan keterangan class Setiap atribut/methode/association diperbolehkan ada sebuah keterangan atribut/methode yang diletakkan diantara tanda { } Sebuah class atau atribut/methode bisa mempunyai dokumentasi dengan lambang dibawah ini dan ditarik dengan garis putus tanpa panah

83 Contoh Class Nama Class : Tabungan Atribut : - no_rekening - nama_pemilik - Saldo Method : - Setor() - Tarik()

84 Contoh Class Tabungan public class Tabungan{// Nama Class public String no_Rekening;// Atribut-Atribut public String nama_pemilik; public int Saldo; public void Setor(int t){// Metode this.Saldo=this.Saldo+t; } public void Tarik(int t){// Metode this.Saldo=this.Saldo-t; }

85 Contoh Nama Class : Member Atribut : No id_card,nama,alamat,jenis kelamin,foto,no.tep, ,password Method : meminjam, mencari, membaca di tempat

86 Class (lanjutan) Sebuah Class memiliki tiga area pokok: – Nama class, merupakan nama dari sebuah kelas – Atribut, merupakan peroperti dari sebuah kelas. Atribut melambangkan batas nilai yang mungkin ada pada obyek dari class – Operasi, adalah sesuatu yang bisa dilakukan oleh sebuah class atau yang dapat dilakukan oleh class lain terhadap sebuah class

87 Kelas Abstrak (Abstract Class) Kelas abstrak (Abstract Class) selalu direpresentasikan dengan kata yang umum. Misalnya kata dari bicycle, car, dan truck memiliki kata umum yaitu vehicle. Vehicle merupakan abstaknya. Sebuah kelas abstrak selalu sebagai super kelas. Sebuah kelas abstrak memiliki anak kelas berupa sub kelas. Sebuah kelas abstrak direpresentasikan dengan notasi yang sama dengan normal kelas, tetapi pada kelas abstrak berisi tulisan 'abstract' dibawah nama kelas abstrak. Dalam versi lain, kelas abstrak juga bisa dinotasikan dengan huruf miring sehingga salah satu dari aturan tersebut bisa dipilih

88 Contoh kelas abstrak Berbagai Variasi dari Kelas Abstrak Contoh Kelas Abstrak

89 Atribut Atribut juga biasnya disebut variabel (variable). Sebuah atribut adalah elemen (data) yang berisikan nilai dari setiap objek. Setiap atribut dideskripsikan sesuai dengan namanya. Dalam kolom atribut, biasanya didefinisikan data tipe, nilai inisial, dan constraint. Constraint dapat digunakan untuk spesifikasi tipe dalam menentukan batasan nilai atau berbagai kondisi. Dalam kelas, nilai constraint tidak selalu dicantumkan. Atribut memiliki nama sesuai dengan nama atribut tersebut sehingga tidak harus mengikat adanya kapitalisasi, memiliki spesifikasi tipenya (apakah string, integer, dll), sebuah nilai inisial, dan nilai potential serta constraints.

90 Atribut (lanjutan) context Circle inv: radius > 0 Berikut adalah contoh constraint yang menyatakan nilai yang mungkin untuk radius atribut. Tagged value dapat digunakan untuk menspesifikasikan spesial properti, seperti misalnya tagged value {readonly} yang mengindikasikan atribut yang hanya bisa dibaca saja.

91 91 Atribut dan metoda dapat memiliki salah satu sifat berikut : 1. Private, tidak dapat dipanggil dari luar class yang bersangkutan. 2. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya 3. Public, dapat dipanggil oleh siapa saja 4. Package, hanya dapat dipanggil oleh instance sebuah class pada paket yang sama. Atribut (lanjutan)

92 Visibility Menyatakan level akses sebuah object Visibility dapat diterapkan pada atribut atau methode Tampilkan visibility secara urut berkelompok mulai dari urutan tertinggi Type data (int,float,char) dari sebuah atribut dapat disertakan design class model define the structure of your object source code and therefore should reflect the naming conventions for the implementation language that you using There are 4 types VisibilitySymbol Public+ Protected# Private- Class Diagram class A # A2 : int = A1 : int + ENTRYA1( ) : void Contoh :

93 Attributes dan operation Visibility Merupakan ketampakan suatu atribut dan method yang dimiliki oleh suatu kelas. Terdiri dari: – Public (+), boleh diakses oleh semua kelas lain – Private (-), akses terbatas untuk class itu sendiri – Protected (#), bisa diakses oleh subclass – Package (~), bisa diakses oleh object lain pada paket yang sama. Contoh

94 Contoh Private, Protected, Public public class Tabungan{ public int cek_Saldo(){ } protected void Setor(int t){ } private void Tarik(int t){ } public class Panggil { Tabungan rek=new Tabungan(); rek.cek_Saldo() } public class Panggil extend Tabungan{ Tabungan rek=new Tabungan(); rek.Tarik(20000) } // Error karena memanggil class private public class Panggil extend Tabungan{ Tabungan rek=new Tabungan(); rek.Setor(20.000) }

95 Operasi Operasi adalah suatu tindakan dari objek, operasi tidak memiliki ikatan kapitalisasi. Operasi berisi nama dari opersi tersebut, kemungkinan parameter, nilai inisial dari parameter tersebut, dan nilai potensial serta constraints

96 Berbagai Variasi dari Class Diagram

97 Catatan Kerngka berfikir object

98

99 Gambar Sebuah Kelas (Class)

100 Relasi Pada Class Diagram Multiplicity Pada relasi terdapat suatu penanda yang disebut multiplicity. Multiplicity ini akan mengindikasikan berapa banyak obyek dari suatu kelas terelasi ke obyek lain. Notasi UML untuk multiplicity ini adalah sebagai berikut: MultiplicityArti *Banyak 0Nol 1Satu, bisa ditulis bisa tidak 0..*Antara Nol sampai banyak 1..*Antara Satu sampai banyak 0..1Nol atau Satu 1..1Tepat Satu Multiplicity biasanya ditulis dengan [1], yang nilai default tersebut biasanya untuk semua atribut yang normal. Untuk dinamik array ditulis dengan [*], yang berarti memiliki komposisi.

101 Multiplicity indicator IndicatorMeaningExample 0..1Zero or one 0..*Zero or more 0..nZero to n (where n>1)0..3 1One only 1..*One or more 1..nOne to n (where n>1)1..5 *Many nOnly n (where n>1)9 n..*n or more, where n >17..* n..mWhere n& m both > Contoh : Dibaca : 1 object Mahasiswa punya 0..* object Nilai dan 1 object Nilai dipunyai 1 object Mahasiswa

102 Class Diagram Sebuah symbol class pada class diagram terdiri dari nama kelas, attribute dan method Nama Kelas Digunakanuntukmembedakanantarasatukelasdankelasyang lain. Contohnya: Manusia, Dosen, Karyawan, Mahasiswa Attribute – Digunakan untuk menyimpan state, pada bahasa pemrograman ini berupa field. Bisa juga diartikan apa yang dimiliki oleh sebuah objek. – Contohnya: untuk atribut Mahasiswa: nim, nama, alamat, tempatlahir, tanggalLahir – Aturan penggunaan: modifier nama_attribute: tipedata – Contoh penggunaan: -nama: String dibaca attribute nama memiliki modifier private dengan tipe data String

103 Class Diagram Method – Digunakan untuk menyimpan behaviour, pada bahasa pemrograman berupa method yang mengembalikan nilai (non void method) dan method yang tidak mengembalikan nilai (void method). – Contohnya: getNama, getAlamat, getUsia, jalan, lari – Aturan Penggunaan: Modifier nama_method ([namaParameter: tipeParameter]) : nilai_kembalian – Contohpenggunaan: + getNama() : String Dibaca method getNama memiliki modifier public, tidak memiliki parameter dan memiliki nilai kembalian String + setNama (nama: String) : void Dibaca method setNama memiliki modifier public, memiliki 1 buat parameter yaitu nama dengan tipe parameter String dan tidak memiliki nilai kembalian karena bertipe void.

104 Class Diagram Latihana. – Buatlah1 buah kelas diagram dengan nama latihan – Tambahkan 2 buah kelas dengan nama File dan Folder Nama class Field atau Properti atau Atribute Operasi atau metode

105 Class Diagram - Berikan relasi bahwa1 folder bisa memiliki 0 sampai banyak filed - Buatlahrelasibahwa1 folder bisamemiliki0 sampaibanyakfolder didalamnya

106 Class Diagram - File dan folder adalah sebuah entitas yang terdapat pada komputer, sekarang anda tambahkan 1 buah kelas dengan nama Data. - Buat relasi yang menyatakan bahwa file dan folder adalah turunan dari data

107 Class Diagram Pada Class Data, tambahkan attribute name, size, location, size on disk Klik kanan pada Data kemudian klik Create Attribute, ubah Unnamed menjadi name, int menjadi String Pada Class Data, tambahkan operations copy, paste, cut, properties Klik kanan pada Data kemudian klik Create Operations, ubah Unnamed menjadi copy

108 KELAS DIAGRAM PERPUSTAKAAN

109 Relationships Association atau Asosiasi – Directional Association atau Asosiasi 1 arah – Asosiasi2 arah (Bidirectional Association) Depedency atau Dependensi Aggregation atau Agregasi Composition atau Komposisi Realization atau Realisasi Generalization atau Generalisasi

110 Relationships Asosiasi adalah hubungan yang terjadi antara kelas yang ada. Asosiasi memungkinkan suatu kelas untuk menggunakan atau mengetahui atribut atau operasi yang dimiliki oleh kelaslain. Asosiasi juga menggambarkan interaksi yang mungkin terjadi antara satu kelas dengan kelas yang lain. Asosiasi ada beberapa jenis, antara lain: – Association atau Asosiasi Directional Association atau Asosiasi 1 arah Asosiasi2 arah (Bidirectional Association) – Depedency atau Dependensi – Aggregation atau Agregasi – Composition atau Komposisi – Realization atau Realisasi – Generalization atau Generalisasi

111 Association atau Asosiasi Directional Association atau Asosiasi 1 arah – Asosiasi ini menggambar bahwa pesan atau urutan kejadian terjadi dari hanya salah satu kelas sedangkan kelas yang lain pasif. – Contohnya pada saat seorang petugas perpustakaan melakukan pencatatan peminjaman terhadap seorang anggota, maka pesan dikirimkan oleh petugas dan diterima oleh anggota. Dimana petugas akan mencatat identitas anggota peminjam dan anggota peminjam berlaku pasif bukannya malah gantian mencatat identitas penjual.

112 Association atau Asosiasi Asosiasi2 arah(Bidirectional Association) Asosiasi ini terjadi ketika salah satu kelas mengirimkan pesan kepada kelas yang lain kemudian kelas yang lain mengirimkan pesan kepada kelas yang mengirimnya pesan. Contohnya pada saat seorang calon anggota mendaftar menjadi anggota perpustakaan maka yang terjadi adalah anggota menyerahkan identitas untuk di proses oleh petugas dan beberapa saat kemudian petugasakan memberikan kartu keanggotaan perpusatakaan.

113 Depedency atau Dependensi Depedency atau Dependensi Relasi jenis ini menunjukkan bahwa sebuah kelas mengacu kepada kelas lainnya. Oleh sebab itu perubahan pada kelas yang diacuakan sangat berpengaruh pada kelas yang mengacu. Contohnya apa bila seorang anggota hendak meminjam buku maka ada sebuah kelas yang bertanggung-jawab melakukan pencatatan peminjam. Kelas ini akan mengetahui anggota yang meminjam dan membuat daftar buku apasajayang di pinjam oleh anggota tersebut.

114 Aggregation atau Agregasi Aggregation atau Agregasi Relasi aggregasi adalah suatu bentu krelasi yang jauh lebih kuat dari pada asosiasi. Aggregasi dapat diartikan bahwa suatu kelas merupakan bagian dari kelas yang lain namun bersifat tidak wajib. Contohnya sebuah buku memiliki pengarang, daftar pustaka, namun bisa saja suatu buku tidak memiliki daftar pustaka. Dari contoh kasus dapat diartikan bahwa daftar pustaka merupakan bagian dari buku namun buku tetap disebut sebagai buku meski pun tidak memiliki daftar puaka.

115 Composition atau Komposisi Composition atau Komposisi Relasi ini merupakan relasi yang paling kuat dibandingkan dengan asosiasi dan aggregasi. Pada komposisi diartikan bahwa suatu kelas merupakan bagian yang wajib dari kelas yang lain. Contoh kasus yaitu pada sebuah buku, sudah pasti terdapat halaman isi sekurang-kurangnya satu.

116

117 Realization atau Realisasi RealizationatauRealisasiRealisasi, bisa disebut juga implementasi merupakan suatu relasi yang menunjukkan penerapan terhadap suatu interface kepada sebuah Class. Relasi realisasi biasanya digunakan untuk mewajibkan suatu kelas memiliki suatu Method yang sudah didefinisikan bentuk kerangkanya dalam suatu interface. Contohnya pada kelas petugas dan anggota, kedua kelas ini tentunya memiliki Method yang wajib dimiliki namun melakukan kegiatan yang berbeda seperti add dan update

118 Generalization atau Generalisasi Generalization atau Generalisasi Adalah relasi pewarisan antara dua Class. Relasi jenis ini memungkinkan suatu kelas mewarisi attribute dan operasi yang dimiliki oleh base Class3. Attribute dan operasi yang bisa diwarisi oleh suatu kelas adalah yang memiliki access modifier public, protected dan default. Contohnya bahwa Anggota dan Petugas adalah dua buah kelas yang mewarisi sifat yang dimiliki oleh kelas manusia. Disini kelas manusia berupa kelas abstract yang berarti kelas ini baru bisa digunakan ketika sudah diwariskan kepada suatu kelas atau bila digunakan langsung, Method –Method wajib yang terdapat didalamnya harus difungsionalitaskan terlebih dahulu

119 Two or more classes will share the same attributres and/or the same methods Inheritance use a line with a closed arrowhead (  ) pointing from the sub class to the super class Place sub class below super class A sub class should inherit attributes and methods of its superclass Inheritance/generalization - Class Diagram

120 Case Tool UML Beberapa contoh case tool untuk UML – Relational Rose (Commercial) – Umlet(Open Source) – NetbeansUML (Open Source) – Violet (Open Source) – Visual Paradigm (Commercial)

121 Class Analisis

122 Kelas Analisis Merupakan elemen/benda yang terdapat pada model analisis. Menggambarkan konsep awal mengenai benda yang terdapat dalam sistem (yang akhirnya memiliki tanggung jawab dan perilaku). Kelas analisis digunakan sebagai dasar kelas pada model desain. Terdiri dari 3 elemen: Boundary, Control, Entity

123 Jenis class Boundary Class Entity Class atau Kelas entitas Control Class Package atau Paket

124 Boundary Class Boundary atau Kelas pembatas merupakan class yang menyalurkan interaksi antara sistem dengan dunia sekitarnya. Seperti form, laporan, obyek–obyek pada form. Setiap kelas pembatas biasanya akan mewakili interaksi antara seorang actor dengan use case. Boundary Class atau Kelas pembatas digambarkan sebagai berikut:

125 Entity Class atau Kelas entitas Kelas ini biasanya digunakan untuk menangani informasi yang mungkin akan selalu disimpan dalam proses bisnis. Cara melakukan identifikasi kelas entitas adalah dengan memperhatikan kata benda. Seperti kalimat “petugas mencatat peminjaman buku”, buku bisa menjadi Class entitas. Kelas entitas juga dapat digunakan untuk mewakili table–table yang terdapat dalam database. Digambarkan sebagai berikut:

126 Control Class Control Class atau Kelas control Kelas ini bersifat opsional, apa bila kelas ini digunakan maka satu kelas control untuk satu use case yang digunakan mengatur kejadian dalam use case tersebut. Contohnya kelas transaksi yang bertanggung jawab dalam transaksi baik peminjaman maupun pengembalian buku dalam suatu perpustakaan. NotasiControl Class seperti berikut:

127 Package atau Paket Paket, merupakan sebuah notasi yang sangat berguna. Biasanya digunakan untuk mengelompokan kelas–kelas yang memiliki kesamaan. Selain itu juga dapat digunakan membedakan antara2 kelas atau lebih yang memiliki nama sama namun memiliki fungsionalitas yang berbeda. Dinotasikan sebagai berikut:

128 Class Stereotypes Control Class: Control Class: Manage interactions. Its behavioir is specific to a use case, which it usally does not outlive. Boundary Class: Boundary Class: Mediate between the system and outside actors (e.g. sensor). Often their lifeline coincide with the life of the system. Entity Class: Entity Class: Passive objects, they do not initiate interactions. May participate several use cases.

129 Robustness Diagram Rules Allowed Not Allowed

130

131 Use Case IDUC-APT-001 Use Case NameLogin PriorityHigh AktorPegawai DescriptionSistem mengautentikasi login pegawai dengan mengquery tabel pegawai pada database apotek lewat inputan username dan password dari pegawai. PreconditionSistem menampilkan interface dan form login Basic FlowAktorSistem 1. Aktor menginputkan username dan password2. Sistem melakukan verifikasi username dan password yang diinputkann oleh aktor pada tabel pegawai di database apotek. E-1 username atau password tidak valid. 3. Sistem memberikan konfirmasi keberhasilan login dengan sebuah message box, kemudian menampilkan form utama yang berisi tombol untuk menuju ke form lain sesuai hak akses. Alternative Flow- Special Requirement- Post ConditionSistem memberikan konfirmasi keberhasilan login dengan sebuah message box, kemudian menampilkan form utama yang berisi tombol untuk menuju ke form lain sesuai hak akses. Exception FlowE-1 username atau password tidak valid. 1. Sistem menampilkan peringatan bahwa nama user atau password tidak sesuai. 2. Flow kembali ke Basic Flow langkah ke 1. Extends- Include- Spesifikasi Use Case : Login

132 Use Case IDUC-APT-002 Use Case NamePengelolaan data penjualan obat PriorityHigh AktorPegawai DescriptionSistem menginsertkan ke table penjualan dan detail penjualan data-data yang diinputkan pegawai pada form PJO (pengelolaan penjualan obat) jika sebelumnya memilih tombol insert, selain itu bisa melakukan update dan delete secara langsung pada datagrid table penjualan dan datagrid detail_penjualan (pada tab dengan resep) dan datagrid table penjualan dan datagrid detail_penjualan (pada tab tanpa resep) jika memilih tombol update atau delete pada form tersebut. PreconditionTombol untuk menuju ke form pengelolaan penjualan obat terklik dimana sebelumnya sistem menampilkan form utama untuk pegawai yang berisi tombol ke form pengelolaan penjualan obat.. Basic FlowAktorSistem 1. Aktor mengklik salah satu dari tiga button (insert, update, atau delete). Dan bisa melakukan manipulasi data pada tabel penjualan atau detail_penjualan yang terletak di datagrid yang berbeda. 2.Sistem melakukan Data manipulation Languange (DML) pada table penjualan atau detail penjualan di database apotek sesuai input actor dan menampilkan hasil DML tersebut langsung di datagrid masing-masing tabel (pada form aplikasi) setelah tombol OK diklik. E-1 data yang diisikan tidak sesuai dengan type data yang diprogram dalam sistem. Alternative Flow- Special Requirement- Post ConditionSistem melakukan update sesuai inputan aktor pada tabel penjualan obat dan jumlah obat dalam database stok obat berkurang. Exception FlowE-1 data yang diisikan tidak sesuai dengan type data yang diprogram dalam sistem. 1. Sistem menampilkan peringatan bahwa data yang diisikan salah. 2. Sistem mengembalikan aktor ke form utama penjualan obat dengan pilihan tombol sebelumnya. Extends- IncludeUse Case : login Spesifikasi Use Case : Pengelolaan data penjualan obat

133 ANALISIS CLASS Object boundary terdiri dari : – Form login – Form penjualan obat – Form pembelian obat – Form Stok Obat – Form View Report – Form Pengelolaan Data pegawai Masing use case dari rancangan sistem memiliki sebuah control, dengan demikian fungsi dari tiap controller dapat lebih jelas dan mudah untuk dibedakan : – Control Login_Process – Control Input_Process – Control Print_Process Entity yang dipergunakan di dalam rancangan sistem : – Database Golongan_Obat – Database Jabatan – Database Obat – Database Pembelian – Database Penjualan – Database Detail_Pembelian – Database Detail_penjualan – Database pegawai

134 Analisis Class tiap Use Case

135


Download ppt "Rekayasa Perangkat Lunak OOAD UML. Analisis Analisis adalah proses mendekomposisi atau menginvestigasi domain problem atau requirements menjadi bagian-bagian."

Presentasi serupa


Iklan oleh Google