SOFTWARE ENGINEERING
Disusun oleh :
Juni Advan
Nisa Fuadina
Putra Nugraha
Teguh Sujana
Yusmanelli
2017
DAFTAR ISI
i
DAFTAR GAMBAR
ii
1. Unified Modeling Language (UML)
Dalam pembangunan sebuah sistem dikenal sebuah skenario yang dapat
membantu menciptakan gambaran sistem secara abstrak dan juga dapat dilihat dari
beberapa sudut pandang yang dikenal dengan istilah system modeling. Selanjutnya
juga dikenal istilah Unified Modeling Language (UML) yang merupakan sebuah
penggambaran sistem (system modeling) dalam bentuk grafik. UML (Unified Modelling
Language) adalah bahasa pemodelan untuk sistem atau perangkat lunak yang
berparadigma berorientasi objek. Pemodelan (modeling) sesungguhnya digunakan
untuk penyederhanaan permasalahan-permasalahan yang kompleks sedemikian rupa
sehingga lebih mudah dipelajari dan dipahami. (Nugroho, 2010)
Selain itu, juga ada formal (matematis) models dari sebuah sistem, biasanya
sebagai spesifik sistem secara detail. Models digunakan ketika proses requirements
untuk memperoleh kebutuhan dari sistem, ketika proses desain untuk menjelaskan
sistem kepada engineer yang akan membangun sistem dan setelah implementasi untuk
mendokumentasikan struktur dan operasi sistem. Models bisa dibuat baik untuk sistem
yang sudah ada atau sistem yang baru akan dibangun.
a. Models dari sistem yang sudah ada digunakan ketika proses requirements.
Models dapat membantu menjelaskan apa yang bisa dilakukan oleh sistem yang
sudah ada dan models itu juga bisa menjadi media untuk mengetahui kelebihan
dan kekurangan dari sistem yang sudah ada, yang kemudian bisa dijadikan
dasar untuk mengembangkan sistem baru.
b. Models dari sebuah sistem baru yang digunakan ketika requirements untuk
membantu menjelaskan requirements yang diajukan kepada stakeholder.
Engineer menggunakan models ini untuk mendiskusikan desain dan
mendokumentasikan sistem yang akan diimplementasikan.
Aspek yang paling penting dari sebuah model sistem yaitu menjelaskan secara
rinci. Sebuah model adalah sebuah gambaran abstrak dari sistem yang sedang
dipelajari dan bukan merupakan representasi alternatif dari sistem tersebut. Secara
ideal, sebuah representasi dari sebuah sistem harus harus menjaga semua informasi
1
tentang inti dari hal yang sedang direpresentasikan. Sebuah abstraksi dimaksudkan
untuk menyederhanakan dan hanya mengambil karateristik yang menonjol. Sebagai
contoh, trailer untuk sebuah film yang akan ditayangkan di bioskop, trailer dapat
memberikan representasi sebagai gambaran pada penonton tentang film tersebut. Ada
beberapa sistem model yang dapat digunakan untuk merepresentasikan sistem dari
beberapa sudut pandang yang berbeda. Sebagai contoh :
a. Sudut pandang external, yang mana menggambarkan konteks atau environment
(lingkungan) dari sistem.
b. Sudut pandang interaction, yang mana menggambarkan interaksi antara sistem
dengan lingkungan atau antara komponen sistem.
c. Sudut pandang struktural, yang mana menggambarkan pengelompokan sistem
atau struktur dari data yang di proses di sistem.
d. Sudut pandang behavioral, yang mana menggambarkan perilaku dinamis dari
sistem dan bagaimana sistem meresponnya.
2
d. Class diagram, yang mana menunjukkan objek class dalam sistem dan asosiasi
antar class ini.
e. State diagram atau state machine diagram, yang mana menunjukkan bagaimana
sistem menanggapi event baik dari internal maupun exernal.
Pada laporan ini, akan difokuskan pada State Machine Diagram yang mana
membahas bagaimana respon sistem terhadap peristiwa atau kejadian baik yang terjadi
di dalam sistem maupun dari luar sistem.
3
2. State Machine Diagram
State machine diagram terrmasuk ke dalam event-driven modeling, yang mana
merespon hal-hal yang berasal dari dalam atau luar. State machine diagram terdiri dari
state atau suatu keadaan dan suatu kejadian dapat menyebabkan state tersebut
berubah menjadi state lain. Sebagai contoh, sebuah sistem mengatur katup agar dari
posisi “terbuka” menjadi “tertutup” ketika menerima perintah (stimulus) dari operator.
Event-driven modeling cocok untuk sistem yang bersifat real-time. Modeling ini pertama
dikenalkan dalam metode desain real-time seperti yang ditunjukkan oleh Ward dan
Mellor (1985) dan Harel (1987, 1988).
4
Gambar 2.2 Contoh Superstate State Machine Diagram
Terdapat sub-state yang ada di dalam superstate, yang mana sub-state ini
menunjukkan detail apa saja yang ada di dalam sebuah superstate.
5
3. Self-service Parking System
Self-service parking system adalah sebuah sistem yang berfungsi untuk
melakukan penanganan terhadap user yang akan parkir di sebuah tempat. Dengan
adanya sistem ini dapat menggantikan posisi seorang pengurus loket parkir yang
berperan memberikan tiket dan menangani transaksi pembayaran tiket parkir. Cara
kerja dari sistem ini, dapat dilihat pada state machine diagram berikut, dimana pada
diagram di bawah ini dapat dilihat bagaimana reaksi dari sistem ketika ada input
(stimulan) dari user maupun dari dalam sistem sendiri.
Dari diagram dapat dilihat bahwa pada posisi sistem sudah beroperasi yaitu
dimulai pada state waiting, kemudian ketika ada stimulan dari user dengan menekan
tombol pada barrier gate, maka sistem akan melakukan processing untuk menghasilkan
serial number, kemudian sistem mengirimkan stimulan untuk membuka barrier gate.
Jika barrier gate telah tertutup kembali, maka akan kembali lagi ke state waiting. Untuk
proses pembayaran, ketika ada stimulan dari user yaitu pembayaran tiket atau kartu,
maka sistem akan melakukan proses validating dan melakukan pengecekan terhadap
pembayaran, jika tidak ada kesalahan, maka sistem mengirimkan stimulan ke barrier
gate untuk membuka.
6
DAFTAR PUSTAKA
Krutchen, P. 1995. The 4+1 View Model of Software Architecture. IEEE Software, 12
(6), 42-50.
Harel, D. 1987. Statecharts : A Visual Formalism for Complex Systems. Sci. Comput.
Programming, 8 (3), 231-74.