Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Rekayasa Perangkat Lunak

Presentasi serupa


Presentasi berjudul: "Rekayasa Perangkat Lunak"— 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 Proses Pengembangan P/L
Pemodelan perangkat lunak Metodologi Terstruktur Metodologi Objek Pendekatan Terstruktur a. DFD b. ERD c. Flowchart d. STD Analisis / OOA OOAD Perancangan / OOD OOP Pendekatan Berorientasi Objek UML: a. Use Case Diagram b. Class Diagram c. Activity Diagram d. dst

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 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 Roni Yunis, S.Kom., M.T.

14 Pemodelan Sistem Model Analisis Perancangan Terstruktur
Flowchart Sistem Data flow Diagram Logis Flowchart Program DFD Fisik STD Objek UML: Use Case Diagram Activity Diagram Class 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 Perancangan Berbasis Objek (Object-oriented Analysis and Design / OOAD)
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.

25 Perancangan Berbasis Objek (Object-oriented Analysis and Design / OOAD)
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.

26 Perancangan Berbasis Objek (Object-oriented Analysis and Design / OOAD)
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.

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 Properti NPM Nama Jenis kelamin Alamat No_tlp Method Kuliah aktif Cuti Event Ujian DO wisuda Mahasiswa

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
Sistem Basis Data 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
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 Rekayasa Perangkat Lunak
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 1980. Jumlah yang menggunakan metode OO mulai diuji coba dan diaplikasikan antara 1989 hingga 1994. 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
Use Case Diagram Class Diagram Statechart Diagram Activity Diagram Sequence Diagram Collaboration Diagram Component Diagram 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 Logical view Development view
System & Environment Process view Physical view

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

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

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

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

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

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

64 Rekayasa Perangkat Lunak
Class Diagram

65 Class Diagram 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 Multiplicity 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 REALITY Motorcycle Person Book MODEL

72 REALITY Motorcycle Person Book MODEL

73 REALITY Motorcycle Person Book Owns Reads MODEL

74 CLASS OBJECT

75 Person CLASS OBJECT Budi Tuti Murni

76 How Many Classes?

77 How Many Classes?

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 Modelling Class Diagram
E-R Vs. CLASS DIAGRAM E-R Modelling Class Diagram Entity Object Class Instance Object Attribute Relationship Association Cardinality Multiplicity N/A Operation/Method/Function

80 CLASS DIAGRAM (con’t) Contoh ER-D CLASS DIAGRAN Name Employees
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 Contoh ER-D Employees Ssn : int Name : String Addr : int CLASS DIAGRAN add_employee(…) delete_emloyee(…) update_salary(…) Name Employees Ssn Name Address 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 Disarankan untuk tidak menggambar tanpa 3 section ini
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 Berbagai Variasi dari Kelas Abstrak
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. context Circle inv: radius > 0 Tagged value dapat digunakan untuk menspesifikasikan spesial properti, seperti misalnya tagged value {readonly} yang mengindikasikan atribut yang hanya bisa dibaca saja.

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

92 Class Diagram 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 Contoh : Visibility Symbol Public + Protected # Private - class A # A2 : int = 100 - A1 : int + ENTRYA1( ) : void

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.Setor(20.000) } public class Panggil extend Tabungan{ Tabungan rek=new Tabungan(); rek.Tarik(20000) } // Error karena memanggil class private

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: Multiplicity biasanya ditulis dengan [1], yang nilai default tersebut biasanya untuk semua atribut yang normal. Untuk dinamik array ditulis dengan [*], yang berarti memiliki komposisi. Multiplicity Arti * Banyak Nol 1 Satu, bisa ditulis bisa tidak 0..* Antara Nol sampai banyak 1..* Antara Satu sampai banyak 0..1 Nol atau Satu 1..1 Tepat Satu

101 Multiplicity indicator
Meaning Example 0..1 Zero or one 0..* Zero or more 0..n Zero to n (where n>1) 0..3 1 One only 1..* One or more 1..n One to n (where n>1) 1..5 * Many n Only n (where n>1) 9 n..* n or more, where n >1 7..* n..m Where n& m both >1 3..10 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 Depedency atau Dependensi
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 Association atau Asosiasi Depedency atau Dependensi
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 Inheritance/generalization - Class Diagram
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

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 Perancangan Sistem Informasi
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: Manage interactions. Its behavioir is specific to a use case, which it usally does not outlive. Boundary Class: Mediate between the system and outside actors (e.g. sensor). Often their lifeline coincide with the life of the system. Entity Class: Passive objects, they do not initiate interactions. May participate several use cases.

129 Robustness Diagram Rules
Allowed Not Allowed

130

131 Spesifikasi Use Case : Login
Use Case ID UC-APT-001 Use Case Name Login Priority High Aktor Pegawai Description Sistem mengautentikasi login pegawai dengan mengquery tabel pegawai pada database apotek lewat inputan username dan password dari pegawai. Precondition Sistem menampilkan interface dan form login Basic Flow Sistem 1. Aktor menginputkan username dan password 2. 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 Condition Sistem memberikan konfirmasi keberhasilan login dengan sebuah message box, kemudian menampilkan form  utama yang berisi tombol untuk menuju ke form lain sesuai hak akses. Exception Flow E-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

132 Spesifikasi Use Case : Pengelolaan data penjualan obat
Use Case ID UC-APT-002 Use Case Name Pengelolaan data penjualan obat Priority High Aktor Pegawai Description Sistem 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. Precondition Tombol 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 Flow Sistem 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 Condition Sistem melakukan update sesuai inputan aktor pada tabel penjualan obat dan jumlah obat dalam database stok obat berkurang. Exception Flow 1. Sistem menampilkan peringatan bahwa data yang diisikan salah. 2. Sistem mengembalikan aktor ke form utama penjualan obat dengan pilihan tombol sebelumnya. Extends Include Use Case : login

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"

Presentasi serupa


Iklan oleh Google