DITERJEMAHKAN OLEH:
Page 1
BAB V
PEMODELAN SISTEM
(SYSTEM MODELLING)
Pemodelan Sistem (Sistem modeling) adalah proses pengembangan model-model abstrak dari suatu sistem
dengan tiap model menyajikan tampilan yang berbeda atau menyajikan perspektif dari sistem tersebut.
Pemodelan merupakan suatu cara yang umum untuk membuat representasi suatu sistem dengan
menggunakan notasi grafis berdasarkan notasi standar yang digunakan dalam Unified Modelling
Language.(UML)
Selain membuat pemodelan dengan notasi grafis menguunakan UML, pemodelan Sistem juga
mengembangkan model matematis formal untuk memodelkan sebuah Sistem, biasanya dilakukan dalam
pengembangan spesifikasi Sistem secara terperinci.
Model-model Sistem yang telah dikembangkan ini akan digunakan selama proses rekayasa/teknik-
persyaratan untuk membantu menurunkan persyaratan untuk sebuah Sistem, dan selama proses desain untuk
menjelaskan Sistem kepada para engineer yang sedang membuat implementasi sistem, dan sesudah
implementasi untuk membuat dokumentasi operasi dan struktur sistem.
Page 2
3. Perspektif struktural, yaitu pemodelan organisasi Sistem atau struktur data yang diproses oleh
Sistem.
4. Perspektif behavioral, yaitu pemodelan tingkah laku dinamis (dynamic behaviour) dari suatu
Sistem dan bagaimana Sistem tersebut merespon suatu event.
Pemodelan Konstektual memodelkan Sistem informasi environment dan relasinya dengan sistem
otomata lainnya. Gambar 5.1 menunjukkan pemodelan konteks yang menggambarkan Sistem informasi
kesehatan pasien Medical Healthcare Project Monitoring Sistem MHC-PMS terhubung dengan Sistem
record pasien, management reporting Sistems, Admision Sistem,dan yang terakhir Prescription Sistem
yang berguna untuk membuat resep obat dari seorang pasien. Sistem in menggunakan data yang sama /
berbagi data (shared data)
GAMBAR 5.1
PEMODELAN SISTEM DENGAN MENGGUNAKAN PERSPEKTIF EKSTERNAL ,PEMODELAN
KONTEKS SISTEM INFORMASI SISTEM SEBAGAI CONTOH SEDERHANA DARI MENTAL HEALTH
CARE PROJECT MONITORING CONTROL (MHC-PMC)
Page 3
Gambar 5.2
Model Proses Yang Terjadi Dalam Suatu Sistem MHC-PCS dengan Menguunakan Diagram Aktivitas Unified
Modelling Language (UML)
Pemodelan Interaksi, memodelkan Sistem dengan memperlihatkan masukan, dan keluaran pengguna serta
interaksi antar komponen dalam Sistem. Ada 2 macam pemodelan interaksi yaitu:
5.2.1 Use Case Modelling; memodelkan interaksi antara Sistem dan actor eksternal seperti yang
ditunjukkan pada gambar 5.3, gambar 5.4 dan gambar 5.5.
Gambar 5.3
Penggunaan Use Case Transfer Data memperlihat interaksi Aktor yang terlibat dalam proses transfer data yaitu aktor
resepsionis medis dan Sistem record pasien
Page 4
Gambar 5.4
Penjelasan Tabular dari use case ‘transfer data’
Gambar 5.5
Pemodelan Interaksi Use Case Modelling menampilkan aktor dengan peran resepsionis medis
Diagram Alir (sequence diagrams) dalam UML digunakan terutama untuk memodelkan interaksi-
interaksi antara actor-aktor dan objek-objek dalam suatu Sistem, dan interaksi-interaksi antara obyek-
obyek yang ada dalam Sistem tersebut. UML memiliki berbagai macam sintaks diagram untuk
memodelkan berbagai interaksi yang berbeda-beda.
Seperti namanya, diagram alir menunjukkan urutan interaksi yang terjadi selama use case tertentu
atau use case instance. Gambar 5.6 adalah contoh dari suatu diagram alir yang mengilustrasikan notasi
dasar. Diagram ini memodelkan interaksi-interaksi yang melibatkan dalam tampilan atau view use case
informasi pasien, di mana seorang resepsionis medis (bagian pendaftaran rumah sakit atau asisten dokter)
dapat melihat beberapa informasi pasien.
Page 5
Gambar 5.6
Diagram Alir Untuk Menampilkan Informasi Pasien
Penjelasan gambar 5.6 diagram alir untuk yang melibatkan actor dengan peran resepsionis medis untuk
menampilkan informasi pasien:
1. Resepsionis medis memicu metode ViewInfo dalam suatu instance P dari suatu kelas Objek
PatientInfo , memasukkan patient’s identifier / ID pasien yang disebut PID. P adalah objek
user interface yang ditampilkan sebagai sebuah form yang menunjukkan informasi pasien.
2. Instance P (contoh atau permintaan) memanggil database untuk memberikan informasi yang
diperlukan, memasukkan identifier resepsionis medis untuk mengijinkan pemeriksaan
sekuriti (validasi dan verifikasi login dan hak akses).
3. Database memeriksa (validasi dan verifikasi) otorisasi Sistem untuk memastikan bahwa
pengguna memiliki otoritas untuk mengakses Sistem.
4. Jika otorisasi berhasil, informasi pasien dikembalikan/dalam hal ini di berikan dan form
pada layar pengguna akan diisi dengan informasi pasien yang diminta. Jika otorisasi gagal,
Sistem akan memberikan pesan kesalahan kepada pengguna dalam hal ini resepsionis medis.
Page 6
Gambar 5.7
Digram Alir Untuk Pengiriman Data.
1. Resepsionis medis melakukan proses logon (validasi dan verifikasi) untuk masuk ke Patient
Record System (PRS) yaitu sistem yang memuat rekaman/ record pasien.
2. Tersedia 2 pilihan/opsi. Hal ini mengijinkan pengiriman secara langsung (direct transfer)
informasi pasien yang telah diperbaharui ke PRS dan kemudian mengirimkan ringkasan data
kesehatan dari MHC-PMS ke PRS.
3. Untuk masing-masing pilihan, proses verifikasi dan validasi resepsionis medis diperiksa dengan
menggunakan otorisasi sistem.
4. Informasi pribadi dapat dikirimkan secara langsung dari objek antarmuka pengguna (USER
INTERFACE OBJECT) ke PRS (PATIENT RECORD SYSTEM) atau alternatif lainnya adalah
record ringkasan /summary record dapat dibuat dengan menggunakan database yang ada lalu
kemudian di kirim ke PRS.
5. Pada tahap akhir pengiriman, Patient Record System (PRS) akan mengeluarkan pesan status, lalu
user dalam hal ini resepsionis medis akan log off atau keluar dari sistem.
Page 7
menunjukkan organisasi system saat melakukan proses eksekusi. Pemodelan statis dan dinamis sangat
berbeda jauh. Organisasi system secara dinamis menggambarkan system sebagai suatu himpunan dari
interaksi thread dapat berbeda jauh dari model statis dari komponen-komponen system.
Pembuatan model-model structural dari suatu system dilakukan saat para software engineer
mendiskusikan dan mendesain arsitektur system. Desain arsitektur merupakan topik penting yang khusus
dalam software engineering dan UML, komponen, bingkisan/package dan penggambaran diagram yang
digunakan saat menyejikan model-model arsitektural system. Pada bagian ini penulis akan memusatkan
pembahasan pada penggunaan diagram kelas (class diagram) untuk pemodelan struktur statis dari kelas-
kelas objek dalam sistek perangkat lunak.
Gambar 5.8
Kelas UML dan asosiasinya
Page 8
Gambar 5.8 memberikan ilustrasi kelengkapan diagram kelas; kemampuan untuk menunjukkan
berapa banyak objek yang terlibat dalam asosiasi/hubungan. Dalam contoh ini, setiap akhir dari suatu
relasi/asosiasi di berikan penjelasan dengan sebuah angka 1 yang berarti bahwa ada suatu hubungan 1:1
antara objek-objek dari kelas-kelas (Ingat kembali pelajaran matematika yang berhubungan dengan teori
himpunan, fungsi, relasi dan perkawanan satu-satu one to one, one to many, many to one). Setiap pasien
mempunyai tepat atau hanya mempunyai satu record dan setiap record berisi informasi mengenai tepat atau
hanya satu pasien.
Ilustrasi pada gambar 5.9 memberikan penjelasan yang lebih lengkap. Gambar 5.9
mengembangkan diagram kelas jenis ini untuk menunjukkan bahwa objek-objek dari kelas Pasien juga
memiliki suatu relasi dengan sejumlah kelas lainnya. Dalam contoh ini penulis akan menunjukkan bahwa
pembaca dapat menamai tiap relasi untuk memberikan penunjukan jenis relasi yang ada kepada pembaca.
UML juga mengijinkan untuk menjelaskan peran dari objek-objek yang memiliki relasi.
Pada tingkatan detil ini, diagram kelas terlihat seperti model-model data semantik. Model data
semantik digunakan dalam desain basis data. Model data semantic menunjukan entitas-entitas data, atribut
yang berhubungan dengan model data semantic tersebut dan dan hubungan antara entitas-entitas tersebut.
Pendekatan pemodelan ini pertamakali diperkenalkan oleh Chen (1976); beberapa varian telah
dikembangkan pada masa berikutnya oleh Codd (1979), Hammer dan McLeod (1981), Hull dan King
(1987) dengan bentuk dasar yang sama.
UML tidak menyertakan notasi spesifik untuk pemodelan database ini sebab UML
mengasumsikannya sebagai proses pengembangan berorientasi objek dan data model menggunakan objek-
objek dan relasi atau hubungannya. Pembaca dapat menggunakan UML untuk merepresentasikan model
data semantic dan memikirkan entitas-entitas dalam model data semantic sebagai kelas-kelas objek yang
disederhanakan (tidak ada operasi), dan atribut-atribut sebagai atribut kelas objek dan dinamakan
berhubungan dengan kelas-kelas objek.
Saat menggambarkan hubungan antar kelas, akan menyenangkan untuk menggambarkan kelas-
kelas dalam cara yang sesederhana mungkin. Untuk mendefinisikan kelas secara detail, pembaca dapat
menambahkan informasi atribut (karakteristik dari sebuah objek) dan operasinya. Sebagai contoh objek
pasien akan memiliki atribut alamat dan pembaca dapat mentertakan suatu operasi yang disebut
ChangeAddress/UbahAlamat yang dipanggil saat pasien menunjukkan bahwa mereka telah berpindah
alamat dari satu alamat ke alamat lainnya. Dalam UML, pembaca menunjukkan atribut-atribut dan operasi-
operasi dengan memperluas persegipanjang sederhana yang merepresentasikan sebuah kelas sebagaimana
ditunjukkan dalam gambar 5.10.
Page 9
Gambar 5.9
Kelas-Kelas dan Asosiasinya dalam suatu MHC-PMS
Gambar 5.10
Kelas Konsultasi Memiliki Atribut Dokter, Tanggal,Waktu,Klinik,Alasan, Medication Prescribed, Treatment
Prescribed, Catatan Suara, Dan Transkrip serta Operasi New(), Prescribe(), RecordNotes(), Transcribe() dsb.
5.3.2 Generalisasi
Generalisasi adalah teknik yang digunakan dalam kehidupan sehari-hari saat menangani situasi
yang rumit. Untuk mengatasi kebingungan dalam mempelajari karakteristik detail dari setiap entitas yang
kita alami, pembaca akan menempatkan entitas-entitas ini dalam kelas-kelas yang lebih umum (misalnya
binatang, mobil, rumah, dsb) dan mempelajari karakteristik tiap kelas. Ini akan memungkinkan pembaca
menduga anggota-anggota yang berbeda memiliki kesamaan karakteristik tertentu. (misalnya tupai dan
tikus dapat digeneralisasikan dalam kelas pengerat karena sama-sama mengerat.).
Gambar 5.11 memberikan penjelasan yang lebih baik mengenai generalisasi. Generalisasi
ditunjukkan oleh sebuah panah berujung yang menunjuk ke atas kepada kelas yang lebih umum. Ini
Page 10
menunjukkan bahwa dokter praktek umum (general practicioner) dan dokter rumah sakit (hospital
doctors) dapat digeneralisasi sebagai dokter. Ada tiga jenis dokter rumah sakit (hospital doctor) yaitu
dokter yang baru lulus dari fakultas kedokteran harus disupervisi (Trainee Doctor), dokter yang dapat
bekerja tanpa pengawasan sebagai bagian tim konsultan (registered doctor) dan konsultan, yaitu dokter
senior yang mempunyai tanggung jawab penuh dalam pengambilan keputusan.
Dalam suatu generalisasi, atribut dan operasi diasosiasikan dengan kelas yang memiliki tingkatan
lebih tinggi dan juga dengan kelas-kelas yang memiliki tingkatan yang lebih rendah. Artinya, kelas dengan
level yang lebih rendah merupakan sub kelas yang mewarisi sifat atribut dan operasi dari kelas yang lebih
tinggi. Kelas-kelas dengan level yang lebih rendah juga memiliki atribut dan operasi lain yang lebih
spesifik. Sebagai contoh, semua dokter memiliki nama dan nomor telepon; semua dokter rumah sakit
memiliki nomor staf dan departemen, tetapi dokter praktek umum (general practicioner) tidak memiliki
atribut-atribut ini dan mereka bekerja secara independen. Dokter umum juga memiliki tempat/nama
praktek dan alamat seperti yang ditunjukkan dalam gambar 5.12.
Gambar 5.11
Hierarki Generalisasi Dokter merupakan contoh Generalisasi
Page 11
Gambar 5.12
Hierarki Generalisasi dengan penambahan Detail Staf, Pager,Praktek dan Alamat
5.3.3 Agregasi
Objek-objek dalam dunia nyata seringkali merupakan gabungan dari bagian-bagian yang berbeda.
Sebagai contoh, paket belajar dari suatu kursus dapat terdiri dari sebuah buku, slide PowerPoint, kuis-kuis,
dan rekomendasi bacaan selanjutnya. Kadang-kadang dalam sebuah model system, seorang engineer perlu
untuk mengilustrasikannya. UML menyediakan hubungan tipe khusus antara kelas-kelas yang disebut
agregasi. Agregasi berarti bahwa sebuah objek (seluruh objek) tersusun dari objek lain sebagaimana
ditunjukkan dalam gambar 5.13. Rekord pasien merupakan komposisi atau gabungan dari Pasien dan
sejumlah konsultasi pasien dan dokter.
Gambar 5.13
Asosiasi Agregasi Pasien dan Dokter Serta Jumlah Konsultasi Yang direkam dalam Rekaman
Pasien.
Gambar 5.14
Model Aktivitas Operasi Pompa Insulin
Page 13
5.4.2 Pemodelan Dikendalikan Kejadian (Event Driven Modelling)
Event-driven modeling menunjukkan bagaimana system menanggapi event eksternak dan internal.
Pemodelan ini berdasarkan asumsi bahwa system memiliki sejumlah keadaan tertentu dan bahwa kejadian-
kejadian (stimuli) dapat menyebabkan terjadinya transisi dari satu keadaaan ke keadaan lainnya. Sebagai
contoh, suatu system pengendali katup dapat bergerak dari keadaan ‘katup terbuka ’ kepada ‘katup
tertutup’ saat perintah operator diterima. Event-based modeling ini pertama kali diperkenalkan dalam
metode desain waktu nyata oleh Ward dan Mellor (1985) dan Harel (1987,1988).
Diagram keadaan (state diagram) menunjukkan keadaan system dan event-event yang
menyebabkan transisi dari satu keadaan ke keadaan lainnya. Diagram keadaan tidak menunjukkan aliran
data dalam system melainkan menyertakan informasi tambahan pada komputasi yang dilakukan pada
setiap keadaan.
Sebagai contoh adalah suatu perangkat lunak pengendali untuk oven gelombang mikro sederhana.
Oven microwave sebenarnya jauh lebih rumit, tetapi system yang disederhanakan ini lebih mudah untuk
dipahami. Oven microwave sederhana ini memiliki saklar untuk memilih suplai daya maksimum atau
setengah daya, papan kunci numeric untuk memasukkan waktu memasak, tombol start/stop, dan tampilan
alfanumerik.
Penulis mengasumsikan urutan aksi untuk menggunakan oven microwave sbb:
1. Memilih level daya daya penuh atau setengah daya.
2. Memasukkan waktu memasak menggunakan keypad numerik
3. Menekan tombol start dan makanan dimasak sesuai waktu yang ditentukan.
Gambar 5.16
Page 14
Untuk alasan keamanan, oven tidak boleh beroperasi saat pintu terbuka. Pada saat selesai memasak
buzzer pada oven akan mengeluarkan suara untuk notifikasi. Oven memiliki alat penampil alfa numeric
untuk menampilkan berbagai peringatan dan pemberitahuan.
Dalam diagram keadaan UML, persegi panjang dengan ujung bulat merepresentasikan keadaan-
keadaan system. Diagram keadaan dapat menyertakan penjelasana singkat (diikuti oleh ‘Do’) dari tindakan
yang diambil dalam suatu keadaan. Panah berlabel merepresentasikan stimuli yang memaksa terjadinya
transisi dari satu keadaan ke keadaan lain. Pembaca dapat menunjukkan keadaan ‘START’ dan ‘END’
menggunakan lingkaran terisi sebagaimana dalam diagram aktivitas.
Berdasarkan gambar 5.16 pembaca dapat melihat bahwa system mulai dalam keadaan menunggu
dan memberikan respon permulaan terhadap tombol daya penuh atau setengah daya. Pengguna dapat
mengubah daya yang disuplai. Tombol waktu dapat diatur jika pintu oven telah tertutup dengan baik,
dan tombol ‘START’ akan enabled. Jika pengguna oven menekan tombol start, oven akan mulai
beroperasi dalam hal ini memasak sesuai waktu yang telah ditentukan. Gambar 5.17 menunjukkan
penjelasan tabular tiap keadaan dan bagaimana stimuli akan memaksa terjadinya perubahan keadaan.
Kelemahan pemodelan berdasarkan keadaan ini adalah untuk system yang lebih besar engineer perlu
menyembunyikan detail model dengan menggunakan ide superstate yang melakukan enkapsulasi sejumlah
keadaan luar biasa. Superstate akan terlihat seperti keadaan tunggal atau single state pada high-level model
tetapi kemudian dapat diperluas untuk menunjukkan detail pada diagram terpisah. Sebagai ilustrasi
perhatikan keadaan operasi dalam gambar 5.15. Ini adalah suatu superstate yang dapat diperluas
sebagaimana ditunjukkan dalam gambar 5.18.
Page 15
Gambar 5.17
Tabulasi Keadaan dan Stimuli Oven Microwave
Gambar 5.18
Page 16
Oven microwave dalam keadaan beroperasi menyertakan sejumlah sub-keadaan. Gambar 5.18
menunjukkan bahwa operasi mulai dengan pemeriksaan status dan jika ada masalah ditemukan, suatu
alarm ditunjukkan dan operasi akan disable. Memasak melibatkan menjalankan generator microwave untuk
durasi waktu yang telah ditentukan. Saat aktivitas memasak selesai, buzzer akan berbunyi. Jika pintu
oven terbuka saat oven sedang memasak, maka sistem akan berpindah ke keadaan disabled
sebagaimana ditunjukkan dalam gambar 5.15.
1. Pendukung MDE
model-based-engineering memungkinkan para engineer untuk memikirkan mengenai sistem pada
abstraksi tingkat tinggi, tanpa memperhatikan detail implementasinya. Hal ini akan mengeurangi
kemungkinan terjadinya kesalahan, meningkatkan kecepatan proses desain dan implementasi,
memungkinkan pembuatan reusable dan aplikasi platform model yang independen.
2. Penentang MDE
Model sangat baik untuk memfasilitasi diskusi mengenai desain perangkat lunak. Akan tetapi
abstraksi model itu tidak selalu dapat untuk diimplementasikan.
Page 17
5.5.1 Model-Driven Architecture
Gambar 5.19
Transformasi Model Driven Architecture suatu sistem perangkat lunak secara umum
Page 18
Gambar 5.20
Model Spesifik Multiple-Platform
Page 19
Tingkah laku dinamis suatu sistem dapat ditentukan secara deklaratif menggunakan object
constraint language (OCL) atau dijelaskan menggunakan UML action language atau bahasa tindakan
UML. Action Language ini adalah semacam suatu bahasa pemrograman tingkat tinggi yang dapat mengacu
pada objek-objek dan atribut-atribut dari objek dan menentukan tindakan atau actions yang akan dilakukan.
Page 20
LATIHAN
5.1. Explain why it is important to model the context of a system that is being developed. Give two
examples of possible errors that could arise if software engineers do not understand the system
context.
Berikan penjelasan saudara mengapa membuat model konteks dari suatu sistem yang
sedang dikembangkan itu sangat penting?
penting? Berikan dua contoh kesalahan yang mungkin
timbul jika para insinyur perangkat lunak yang terlibat dalam tim pengembangan
perangkat lunak tidak memahami konteks system!
5.2. How might you use a model of a system that already exists? Explain why it is not always
necessary for such a system model to be complete and correct. Would the same be true if you
were developing a model of a new system?
5.3. You have been asked to develop a system that will help with planning large-
large-scale events and parties
such as weddings, graduation celebrations, birthday parties, etc. Using an activity diagram, model
the process context for such a system that shows the activities involved in planning a party (booking
a venue, organizing invitations, etc.) and the system elements that may be used at e each stage.
Saudara diminta untuk mengembangkan sebuah sistem yang akan membantu perencanaan
event dan acara pesta seperti pernikahan, perayaan kelulusan, pesta ulang tahun,dsb.
Gunakan diagram aktivitas untu memodelkan konteks proses dari suatu sistem yan yang
menunjukkan aktivitas-aktivitas
aktivitas aktivitas yang terlibat dalam merencanakan suatu pesta. (pemesanan
tempat/lokasi pesta, pengorganisasian undangan pesta, dsb) dan elemenelemen-elemen sistem
yang dapat digunakan dalam setiap tingkatan.
Petunjuk:
Ini merupakan sistem informasi yang akan digunakan oleh suatu event organizer skala besar.
Dalam suatu sistem pemeliharaan kesehatan medis – sistem monitoring proyek (MHC
(MHC-
PMS) buatlah suatu himpunan uses cases yang memberikan gabaran interaksi
interaksi-interaksi
yang terjadi antara seorang dokter, yang menangani pasien yang menderita suatu
penyakit, memberikan resep obat dan perawatan dan berhubungan dengan suatu MHC MHC-
PMS.
5.5. Develop a sequence diagram showing the interactions involved when a student registers for a
course in a university. Courses may have limited enrollment, so the registration process must
include checks that places are available. Assume that the student accesses an electronic course
catalog to find out about available courses.
Page 21
Anggaplah bahwa mahasiswa tersebut mengakses catalog kursus elektronik untuk menemukan
informasi lebih lanjut mengenai kursus yang akan diadakan.
5.6. Look carefully at how messages and mailboxes are represented in the e-mail system that you use.
Model the object classes that might be used in the system implementation to represent a mailbox
and an e-mail message.
Perhatikan baik-baik bagaimana pesan dan kotak sorat direpresentasikan dalam sistem email yang
anda gunakan. Buatlah model kelas-kelas objek yang digunakan dalam implementasi sistem untuk
merepresentasikan sebuah kotak surat/mailbox dan sebuah pesan surat elektronik/e-mail.
5.7. Based on your experience with a bank ATM, draw an activity diagram that models the data
processing involved when a customer withdraws cash from the machine.
Berdasarkan pengalaman anda menggunakan Anjungan Tunai Mandiri/Automatic Trasfer
Machine/Cash Dispenser, gambarkan diagram aktivitas yang memodelkan pemrosesan data yang
terlibat ketika seorang pelanggan melakukan penarikan uang secara tunai melalui ATM.
5.8. Draw a sequence diagram for the same system. Explain why you might want to develop both activity
and sequence diagrams when modeling the behavior of a system.
Gambarkan diagram alir untuk sistem yang sama. Berikan penjelasan mengapa seorang insinyur
harus menggunakan diagram aktivitas dan diagram alir, keduanya secara bersama-sama dalam
membuat model sistem?
An automatic washing machine that has different programs for different types of clothes.
A telephone answering system that records incoming messages and displays the number of
accepted messages on an LED. The system should allow the telephone customer to dial in from
any location, type a sequence of numbers (identified as tones), and play any recorded messages.
Sebuah mesin cuci otomatis yang memiliki jenis-jenis pilihan program yang berbeda untuk mencuci
jenis pakaian yang berbeda pula.
Suatu sistem penjawab telepon otomatis yang dapat merekam pesan masuk dan menampilkan jumlah
total pesan yang diterima pada suatu penampil LED. Sistem harus memungkinkan pelanggan untuk
melakukan sambungan/panggilan dari suatu lokasi, memasukkan urutan nomor (disebut juga nada
dual tone multi frequency DTMF,) dan memutar kembali setiap pesan (elektronik dan suara) yang telah
direkam.
5.10. You are a software engineering manager and your team proposes that model-driven engineering
should be used to develop a new system. What factors should you take into account when
deciding whether or not to introduce this new approach to software development?
Jika saudara adalah seorang manager software engineering. Tim saudara mengajukan bahwa
teknik rekayasa berdasarkan model / model driven engineering seharusnya digunakan untuk
Page 22
mengembangkan suatu sistem yang baru. Berikan penjelasan saudara mengenai factor-faktor apa
saja yang harus dimasukkan dalam perhitungan saaat saudara ingin melakukan proses
pengambilan keputusan apakah perlu memperkenalkan/menggunakan suatu pendekatan baru
dalam mengembangkan perangkat lunak?
PEMBAHASAN
1. Pemodelan sistem khususnya pemodelan konteks penting untuk dilakukan:
- untuk pengembangan sistem yang baru, model sistem yang telah dibuat selama proses
requirement engineering akan digunakaan sebagai alat bantu untuk menjelaskan
persyaratan yang telah diajukan kepada stakeholder lain yang berhubungan dalam
proses pengembangan sistem.
- secara khusus, pemodelan konteks itu memodelkan sistem dengan sistem lain di luarnya
(dalam hal ini kelas lain dalam sistem), memahami hubungan antar sistem dengan entitas
sistem lain di luarnya, jenis relasi/asosiasinya, bisnis prosesnya untuk menghindar
kesalahan dalam tahapan interaksi dengan sistem yang dapat menyebabkan kesalahan
lainnya.
Jika insinyur dalam tim pengembangan perangkat lunak tidak memahami konteks sistem
maka tidak dapat menangkap urutan aktivitas proses bisnis yang akan dibuat, akan timbul
kesalahan logika alur program karena salah menerjemahkan proses bsnis, kesalahan
dalam komputasi, mungkin akan menyebabkan kesalahan pada sistem lain yang
berhubungan, dan berpotensi menyebabkan terjadinya hazard.
2. Pemodelan sistem yang sudah ada hanya digunakan untuk memfasilitasi diskusi kelebihan
dan kekurangan sistem yang sudah ada. Melalui diskusi ini diharapkan akan timbul ide-ide
baru untuk melakukan perbaikan berkesinambungan untuk meningkatkan kemampuan sistem
(upgradeable sistem) di masa yang akan dating atau mengembangkan sistem yang baru
(iterative development)
Page 23
dress code ,konsumsi, hiburan, publikasi (undangan pesta), dan dokumentasi
pesta/acara yang diinginkan user atau pengguna jasa EO.
3. Event Organizer melakukan aktivitas sesuai dengan order yang masuk, meyakinkan
tersedianya tempat pada waktu yang telah dilakukan, mempersiapkan undangan sesuai
dengan jumlah undangan yang ditentukan,kursi, menyediakan kostum yang sesuai bagi
penyelenggara pesta, mempersiapkan konsumsi sesuai dengan harga yang disepakati
dan perkiraan jumlah undangan yang hadir, melakukan dekorasi gedung atau tempat
kegiatan pesta,mempersiapkan dokumentasi pesta sesuai dengan permintaan user.
4. Customer membayar seluruh/atau uang muka rincian biaya pesta yang telah
dikalkulasikan oleh pihak event organizer sebagai bayaran penggunaan jasa event
organizer dalam penyelenggaraan pesta.
5. Pesta diadakan pada hari-H sesuai dengan yang telah direncanakan berdasarkan
pesanan user.
6. Pesta selesai, pihak event organizer memenuhi semua kewajiban atas penggunaaan
semua sarana dan pra-sarana atau perlengkapan pesta.
7. Pihak pengguna jasa EO memenuhi segala kewajiban dan melunasi sisa biaya pesta
sesuai dengan harga yang telah disepakati.
8. Sistem membangkitan laporan tertulis mengenai detil pesta yang diselenggarakan dan
rincian finansial, sekaligus bukti pembayaran yang menunjukkan bahwa pengguna jasa
telah memenuhi kewajibannya 9melunasi biaya pesta sebagai bukti hukum yang
berkekuatan tetap.
Page 24
Gambar proses model aktivitas Event Organizer EO (mengacu pada gambar 5.1) :
<<sistem>>
BOOKING/VENUE
RESERVASI
<<sistem>> <<sistem>>
PENYEWAAN CATERING/KONSUMSI
PERLENGKAPAN
<<sistem>>
EVENT ORGANIZER
EO-PMS
<<sistem>> <<sistem>>
PENYEWAAN PEMBAYARAN/TAGIHAN
PERLENGKAPAN
1. Pasien penderita penyakit mendaftar pada resepsionis medis untuk berobat ke dokter.
2. Resepsionis medis mencatat pendaftaran pasien, identitas pasien, alamat, umur,
keluhan atas penyakit yang dialami dalam suatu sistem.
3. Pasien berobat ke dokter sesuai dengan keluhan penyakit yang disampaikan.
4. Dokter membaca rekaman data pasien yang telah dicatat oleh resepeionis medis,
melakukan pemeriksaan yang diperlukan atau diagnosa atas penyakit yang diderita pasien.
5. Dokter memberikan resep obat yang sesuai untuk pasien sesuai dengan hasil
P: D: AS: Autorisasi
pendaftaran_peserta_ SISTEM_INFORMASI_ sistem
baru KURSUS_UNIVERSITAS
LOGIN_KE_SISTEM_INFORMASI_KURSUS
Update_Info()
Update_sistem_
informas_KURSUS UID
Otorisasi(TF,UID)
Otorisasi_ACK
Perbaharui (PID)
Acknowledgement_perbarui_OK
Message(OK)
Perbaharui()
Perbaharui(UID)
Otorisasi TF_UID
OTORISASI_ACK
summary
Update(PID)
Update(OK)
Page 26
Penggambaran use case – use case:
a. use case transfer data.
Use case transfer data rekaman medis pasien yang telah dibuat/direkam oleh resepsionis ke
dalam database sistem Rekaman pasien /Patient Record System (Pada kenyataannya ini
merupakan suatu proses memasukkan data rekaman kesehatan pasien ke dalam suatu
database sistem rekaman pasien/patient record system.
Registrasi pasien
Membatalkan
registrasi pasien
Menampilkan
informasi pasien
Mengirim data
Menghubungi
pasien
RESEPSIONIS MEDIS
Page 27
c. Use case yang melibatkan peran dokter yang melakukan pemeriksaan/diagnosis, penulisan
resep obat dan pemberian treatment yang sesuai untuk menyembuhkan pasien.
Aktor dokter
Melakukan
diagnosis
Menuliskan
resep obat
Memberikan
treatment yang
sesuai
Page 28
6. Penggambaran kotak surat dan pesan elektronik dengan class models:
email
Tanggal
Waktu
Pengirim
Subjek
…
Tulis()
Edit()
Hapus()
Balas()
Kirim()
Forward()
Pindah()
…
mailbox
Inbox
Outbox
Draft
Spam
Terkirim
Grup
…
Hapus()
Pindahkan()
Urutkan()
…
Keterangan:
Kelas email memiliki atribut tanggal, waktu,pengirim, subjek, dengan metode/operasi yang berhubungan
dengan kelas email adalah tulis(), edit(), hapus(), balas(), kirim(), teruskan(), spam(), dsb. Kelas kotak surat
atau kelas mailbox memiliki atribut inbox, outbox,draft,terkirim,grup dan sebagainya. Selain itu kelas
mailbox memiliki mtode/operasi yang berhubungan dengan kelas mailbox seperti hapus(), pindahkan(),
urutkan(), dan masih banyak metode atau operasi lainnya yang berhubungan dengan kelas mailbox.
Page 29
7. Gambar Diagram aktivitas penarikan uang tunai dari Anjungan Tunai Mandiri (Automated
START
MASUKAN KARTU
ATM KE MESIN ATM
BACA DATA
AUTENTIFIKASI DAN
VALIDASI NOMOR PIN
Autentifikasi
PIN FALSE
INGIN MELAKUKAN
TRANSAKSI LAINNYA?
CETAK DATA
TRANSAKSI
Page 30
SELESAI
Page 31
Seleksi kondisi autentifikasi PIN nasabah/customer BANK atau proses validasi dan verifikasi
nasabah BANK v&v, selain menggunakan seleksi kondisi dengan menggunakan nomor PIN,
juga dapat ditambahkan perulangan dengan pencacah untuk membatasi sebanyak 3 kali
memasukkan nomor PIN. Jika terjadi kesalahan memasukkan nomor PIN sebanyak 3 kali
berturut-turut maka transaksi nasabah ditolak oleh ATM atau kartu nasabah diblokir oleh
BANK yang menyediakan layanan Anjungan Tunai Mandiri.
8.Diagram alir yang menggambarkan urutan proses penarikan uang dari ATM adalah sebagai berikut:
Instance P
ALT
SEND PIN
[PIN]
Nasabah memasukkan PIN untuk v&v ]SENT PIN]
PIN (OK)
Catat transaksi
Page 32
Kartu ATM milik nasabah nasabah, transaksi selesai
Pengaturan
Timer
< THRESHOLD
OPERASI
DISABLED
OPERASI MENCUCI
DO:BUZZER SET BASED ON
THE TIMER
PINTU TERTUTUP
DISABLED
Page 33
b.Pemutar VCD/DVD
GANTI DISK
RESUME
PUTAR DISK
DO:WAITING
INCOMING CALL/INCOMING
MESSAGE
CALL TERMINATED
Page 34
10. Faktor-faktor yang harus dipertimbangkan apakah perlu menggunakan metode model-driven
engineering dalam proses software-development yang sedang dilakukan sebagaimana
disarankan oleh tim:
a. Faktor finansial, apakah keputusan untuk menggunakan MDE saat ini akan
menguntung atau layak dilakukan secara financial mengingat ketersediaan atau
perkembangan teknologi saat ini apakah memungkinkan untuk penerapan MDE?
Apakah itu sesuai dengan tuntutan kebutuhan yang diajukan oleh stakeholder
untuk memenuhi ekspektasi stakeholder dalam sistem yang dikembangkan?
b. Faktor teknikal, apakah perusahaan untuk saat ini dengan keadaan sumber daya
yang tersedia baik itu SDM, teknologi, knowledge dan skill telah mampu
menyediakan sistem yang dikembangkan dengan model-driven engineering?
Page 35
Page 36