Anda di halaman 1dari 26

Rekayasa Perangkat Lunak

 PERKEMBANGAN METODE ANALYSIS &


DESIGN SYSTEM

 Metode Tradisional
 Metode Terstruktur
 Metode Berorientasi Object (Object Oriented)
Rekayasa Perangkat Lunak

 METODE TRADISIONAL

 Berkembang dari pemrograman tradisional


 Kontrol Alur (Urutan, Keputusan, Loop)
System Flow Chart
Hampir selalu dimulai dengan pemikiran tentang file
secara fisik
Tidak berorientasi pada kebutuhan informasi
Rekayasa Perangkat Lunak

 Metode Terstruktur

 Dimulai pada tahun 1977


Dimulai dengan mencoba melihat System dari sudut
pandang Logical
Melihat Data sebagai sumber proses
Metode :
E – R Diagram
Normalisasi
DFD ( Control Flow, State Transition diagram)
Rekayasa Perangkat Lunak

 METODE OBJECT ORIENTED

 Bermula dari OOP (Object Oriented Programming) yang


berkembang menjadi OOD (Object Oriented Design) dan
akhirnya menjadi OOA (Object Oriented Analysis)
Berhubungan erat dengan E – R Model
Keuntungannya dari analisa, design sampai ke
implementasi menggunakan notasi yang sama
Makin banyak organisasi yang meng-implementasikan
metoda OO
Rekayasa Perangkat Lunak

 PERBANDINGAN

OBJECT ORIENTED : STRUCTURED:

Systems decomposed kedalam object- Systems decomposed kedalam fungsi atau


object data; prosedure;
function + data menyatu function + data terpisah
• Komponen system lebih independen • Komponen system ketergantungan satu
dengan yang lain =>
=> lebih mudah melakukan => lebih sulit melakukan perubahan
perubahan requirement maupun requirement maupun maintenance
maintenance. • Tidak mungkin melakukan Inheritance
• Dimungkinkan dilakukan and polymorphism
Inheritance and polymorphism => keterbatasan reuse Software/design.
=> reuse, extension, custom and • Kesulitan mengatur system/program
tailoring software/designs. yang komplek
• Memudahkan membagi system yang
komplek.
Rekayasa Perangkat Lunak

 Obyek
 Adalah abstraksi dari sesuatu yang mewakili dunia nyata seperti : benda,
manusia, satuan organisasi, tempat, kejadian, struktur, status atau hal-hal yang
bersifat abstrak
 Suatu entitas yang mampu menyimpan informasi (status) dan mempunyai
operasi (kelakuan) yang dapat diterapkan atau dapat berpengaruh pada status
obyek .
 Obyek mempunyai siklus hidup : diciptakan, dimanipulasi, dan dihancurkan
Rekayasa Perangkat Lunak

Kelas
 Adalah kumpulan dari obyek-obyek dengan karakteristik yang
sama.
 Adalah definis statik dari himpunan obyek yang sama yang
mungkin lahir atau diciptakan dari kelas tersebut.
 Sebuah kelas akan mempunyai sifat (atribut), kelakuan
(operasi), hubungan (relationsip) dan arti.
 Suatu kelas dapat diturunkan dari kelas yang lain, dimana
atribut dari kelas semula dapat diwariskan ke kelas yang baru.
Rekayasa Perangkat Lunak

Property Obyek (Atribut)


 Nilai atau elemen-elemen data yang dimiliki oleh obyek dalam kelas obyek.
 Merupakan ciri dari sebuah obyek.
 Dipunyai secara individual oleh sebuah obyek

Layanan (Service)
 Metode atau operasi yang berfungsi untuk memanipulasi obyek itu sendiri
 Fungsi atau transformasi yang dapat dilakukan terhadap obyek atau
dilakukan oleh obyek.
 Dapat berasal dari : model obyek, event, aktifitas atau aksi keadaan, fungsi,
kelakuan dunia nyata
Rekayasa Perangkat Lunak

 Klasifikasi Obyek
Menurut [BOO95] objek dapat dibedakan menjadi :
 ADT (abstract data type) definisi dari kelas dimana komponen
type menjadi atribut dan fungsi primitif menjadi
operasi/metode/layanan.
 Mesin, obyek pasif yang punya status yang akan diaktifkan oleh
obyek lain, fungsi primitif pada mesin merupakan mekanisme
transisi yang mengubah suatu status ke status lain.
 Proses, obyek aktif yang mempunyai urutan kendali (thread of
control).
Rekayasa Perangkat Lunak

 Object Oriented
 Sistem Berorientasi Object
 System dengan cara pandang persoalan menggunakan model-model yang
diorganisasikan seputar konsep Object
 Sebuah sistem yang komponennya dibungkus (dienkapsulasi) menjadi
kelompok data dan fungsi/prilaku suatu entitas.
 Setiap komponen dalam sistem tersebut dapat mewarisi atribut dan sifat dari
komponen lainnya, dan dapat berinteraksi satu sama lainnya

 Analisis Berorientasi Object


 Metoda Analisis yang memeriksa kebutuhan-kebutuhan dari perspektif kelas-
kelas dan object-object yang ditemukan
 Menspesifikasikan mengenai apa Object tersebut.
Rekayasa Perangkat Lunak

 Karakteristik System Berorientasi Object


 Abstraksi
merepresentasikan dunia nyata yang komplek menjadi satu bentuk model
yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai
dengan permasalahan.
 Enkapsulasi
pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai
obyek
 Pewarisan Inheritance
mekanisme yang memungkinkan suatu obyek (kelas) mewarisi sebagian
atau seluruh definisi dari obyek lain sebagai bagian dari dirinya.
 Polymorphism
kemampuan suatu obyek untuk digunakan dibanyak tujuan yang berbeda
dengan nama yang sama
Rekayasa Perangkat Lunak

Klasifikasi Abstraksi Object


 Abstraksi Fungsional
Untuk menyatakan fungsi-fungsi yang akan diperoleh oleh pemakai
 Abstraksi Data
Merupakan tipe suatu data abstrak (ADT), untuk mereduksi kompleksitas
 Abstraksi Perilaku
Untuk mengabstraksikan perilaku sistem atau sifat dinamis dari sistem
Rekayasa Perangkat Lunak

 Hubungan Antar Objeck (Hirarki)


 Link
koneksi fisik atau konseptual antara objeck-objeck. Link menunjukkan
asosiasi spesifik dimana satu object menerapkan layanan dari object lain.
Link dapat memainkan peranan sebagai :
 Aktor, dapat beroperasi atas object-object lain tapi tidak pernah dioperasikan.
 Server, Object tidak pernah mengoperasikan object lain.
 Agen, Object dapat mengoperasikan object lain dan dapat dioperasikan object
lain.
 Agregasi
menunjukkan hirarki whole part dengan kemampuan navigasi keseluruhan.
Rekayasa Perangkat Lunak

UML (Unified Modeling Language)


 adalah bahasa grafis untuk mendokumentasikan,
menspesifikasikan dan membangun perangkat lunak.
 Dikembangkan tahun 1994 oleh Grady Booch dan James
Rumbaugh.
 Pencipta metode OOSE Ivar Jacobson ikut bergabung.
 Dijadikan bahasa dan notasi pemodelan oleh OMG tahun 1997
 Menyediakan kemampuan merepresentasikan semua konsep yang
relevan untuk sistem perangkat lunak
 Bukan pemrograman visual
Rekayasa Perangkat Lunak

Tujuan UML
 Menyediakan bahasa pemodelan visual yang ekspresif dan siap
pakai.
 Memberikan bahasa pemodelan yang bebas dari berbagai bahasa
pemrograman.
 Mendorong pertumbuhan pasar berorientasi object
 Memadukan praktek praktek terbaik yang terdapat dalam
pemodelan
Rekayasa Perangkat Lunak

Pandangan (View) dalam UML


 Pandangan Use-Case
 Diagram Use-Case
 Diagram aktivitas
 Pandangan rancangan
 Diagram Kelas
 Diagram Interaksi
 Diagram Statechart
 Pandangan Proses
 Diagram Kelas
 Diagram Interaksi
Rekayasa Perangkat Lunak

Pandangan (View) dalam UML (lanjutan)

 Pandangan Implementasi
 Diagram komponen
 Pandangan Deployment
 Diagram Deployment
Rekayasa Perangkat Lunak

Diagram dan Teknik Pemodelan


 Diagram Struktur
 Diagram Kelas
 Diagram Object
 Diagram Komponen
 Diagram Deployment
 Diagram Perilaku
 Diagram Use-Case
 Diagram Sequence
 Diagram Kolaborasi
 Diagram Statechart
 Diagram Aktifitas
Rekayasa Perangkat Lunak

Diagram Kelas
 Kelas
 Nama
 Atribut
 Operasi
 Antarmuka (Interface)
Merupakan koleksi operasi yang menspesifikasikan layanan dari suatu kelas
atau komponen
 Kolaborasi
Interaksi sekelompok peran dan elemen-elemen lain yang bekerjasama
 Relationship
 Assosiasi
 Generalisasi
 Dependency
Rekayasa Perangkat Lunak

Diagram Objek
Digunakan untuk mendiskripsikan kumpulan objek dan keterhubungannya
Diagram Object menyediakan notasi grafis formal guna memodelkan objek
Diagram Object berguna untuk abstract modelling dan perancangan program
Kelas adalah deskripsi dari objeck-objeck
Setiap Object mempunyai Identitas, Properti dan Operasi.

Diagram Use-Case
 Aktor
 Use-Case
 Hubungan antar aktor
Rekayasa Perangkat Lunak

Diagram Komponen
menggambarkan alokasi semua kelas dan objek kedalam komponen komponen
fisik system software. Berisi informasi.
 Komponen
 Antarmuka
 Dependency

Diagram Deployment
Digunakan untuk memodelkan aspek fisik dari system berorientasi objek.
Elemen diagram deployment adalah :
 Node
 Hubungan dependency dan asosiasi
Rekayasa Perangkat Lunak

Diagram Sequence
Digunakan untuk menunjukkan interaksi yang terjadi antar objek, meliputi
pesan-pesan yang ada dan urutan pesan tersebut muncul

Diagram Sekuen digunakan untuk :


 Overview prilaku system
 Menunjukkan objek-objek yang diperlukan
 Mendokumentasikan skenariodari suatu diagram use-case
 Memeriksa jalur-jalur pengaksessan
Rekayasa Perangkat Lunak

Diagram Kolaborasi
Menyatakan komunikasi diantara objek-objek yang menunjukkan pesan yang
ada, urutan pesan dan hubungan antar objek.
Diagram kolaborasi digunakan untuk :
 Pandangan dalam prilaku system
 Ilustrasi dari suatu diagram use-case
 Menyatakan objek-objek yang diperlukan untuk merealisasikan
suatu layanan.
 Memeriksa jalur-jalur pengaksesan
Rekayasa Perangkat Lunak

Diagram Statechart
Merupakan perluasan dari diagram state yang merepresentasikan state dan
transisi untuk satu kelas
Satu diagram state untuk satu kelas objek dimana perilaku dinamisnya
menunjukkan pola aktifitas.
Elemen utama :
 Event (Kejadian)
 State
Rekayasa Perangkat Lunak

Diagram Aktivitas
Merupakan diagram flowchart yang diperluas yang menunjukkan aliran
kendali satu aktifitas ke aktivitas yang lain.
Diagram aktifitas berupa operasi-operasi dan aktifitas di use-case
Diagram aktifitas digunakan untuk :
 Pandangan yang dilakukan di operasi
 Pandangan bagaimana objek bekerja
 Pandangan aksi-aksi dan pengaruh pada objek-objek
 Pandangan dalam suatu use-case
 Logika proses bisnis
Rekayasa Perangkat Lunak

Dosen
Mahasiswa Wali

Perwalian

melaksanakan Perwalian melaksanakan


Tanggal : Date

Mahasiswa mempunyai dosen


mengesahkam

Matakuliah

Contoh diagram Use case berikut Class

Anda mungkin juga menyukai