SlideShare a Scribd company logo
1 of 24
Analisis Berbasis Obyek
Program Studi Informatika
Sesi 10 – Specifiying Control
Muhammad Ikhwani Saputra, MKom
Specifying Control
2
Pembahasan:
3
• Bagaimana mengidentifikasi kebutuhan sebagai
pengendalian dalam aplikasi;
• Bagaimana membuat model siklus hidup suatu obyek
dengan menggunakan State Marchine;
• Bagaimana mengembangkan diagram State Marchine dari
diagram interaksi;
• Bagaimana membuat model perilaku dalam objek;
• bagaimana memastikan konsistensi dengan model UML
lainnya.
4
State
• current state (Kondisi saat ini) ada suatu objek
ditentukan oleh current value (Nilai saat ini) dari
suatu atribut objek serta link yang
menghubungkan objek tersebut dengan objek
lainnya.
• Contohnya class StaffMember memiliki
atribut startDate yang menentukan seorang
staff StaffMember berada pada status
percobaan
5
State
• Sebuah State menggambarkan kondisi yang terjadi
pada saat itu dalam periode waktu tertentu sampai
adanya peristiwa atau pemicu yang menyebabkan
perubahan.
• Objek pada suatu objek dibatasi oleh kelas
• Objek pada suatu kelas itu hanya berada pada satu
state pada waktu tertentu.
6
state machine
• State GradeRate pada objek ditentukan
oleh 2 atribut yaitu rateStartDate dan
rateFinishDate.
• State pada GrateRate bisa Pending (tertunda),
Active (aktif) atau Lapsed (tidak digunakan).
state machine
© Bennett, McRobb and Farmer
2005
6
state machine
for the class
GradeRate.
Movement
from one
state to
another is
dependent
upon events
that occur
with the
passage of
time.
Pending
Active
Lapsed
Transition
between
states
[rateStartDate <=
currentDate]
[rateFinishDate <=
currentDate]
after [1 year]
Final
psuedostate
Initial
pseudostate
GradeRate
Relative
time trigger
State
Change
trigger
state machine GradeRate
8
Type Event
• change trigger terjadi jika kondisi terpenuhi
• call trigger terjadi pada saat objek menerima perintah
operasi dari objek lain atau dari objek itu sendiri.
• signal trigger terjadi pada saat objek menerima signal
(misalkan asynchronous communication).
• relative-time trigger terjadi seiring dengan jalannya waktu
yang telah di tetapkan untuk terjadinya suatu perubahan.
Events
Commissioned
authorized(authorizationCode) [contractSigned]
/setCampaignActive
Active
This trigger must correspond to
an operation in the Campaign
class
9
Internal Activities
State Name
entry /activity-expression
exit /activity-expression
do /activity
Name
compartment
Internal
activities
compartment
10
‘Menu Visible’ State
Menu Visible state for a
DropDownMenu object.
Menu Visible
itemSelected / highlightItem
entry/ displayMenu
do / playSoundClip
exit / hideMenu
Name compartment
Internal activities compartment
Internal transitions compartment
event itemSelected()
triggers the action
highlightItem()
While the object remains in the
Menu Visible state, the activity
causes a sound clip to be played.
Exiting the state triggers
hideMenu()
entry action causes the
menu to be displayed
11
state machine
for the class
Campaign.
Commissioned
Authorized(authorizationCode)
[contractSigned]
/setCampaignActive
/assignManager;
assignStaff
Active
Completed
Paid
campaignCompleted
/prepareFinalStatement
paymentReceived(payment)
[paymentDue - payment > zero]
paymentReceived(payment)
[paymentDue - payment <= zero]
archiveCampaign
/unassignStaff;
unassignManager
Recursive transition
models any payment
event that does not
reduce the amount due
to zero or beyond.
Action-expression
assigning manager and
staff on object creation
Guard condition ensuring
complete payment
before entering Paid
12
A revised state
machine for the
class Campaign
/assignManager;
assignStaff
Commissioned
Authorized(authorizationCode)
[contract signed]
/setCampaignActive
Active
Completed
Paid
campaignCompleted
/prepareFinalStatement
paymentReceived(payment)
[paymentDue - payment > zero]
paymentReceived(payment)
[paymentDue - payment = zero]
archiveCampaign
/unassignStaff;
unassignManager
paymentReceived(payment)
[paymentDue - payment < zero]
/generateRefund
If the user requirements
were to change, so that
an overpayment is now
to result in the automatic
generation of a refund, a
new transition is added.
13
Nested Substates
The Active state of Campaign
showing nested substates.
Transisi pada initial pseudostate
tidak perlu di beri label pada
contoh ini
Advert Preparation
Running Adverts Scheduling
confirmSchedule
campaignCompleted
/prepareFinalStatement
extendCampaign
/modify Budget
advertsApproved
/authorize
Active
Decomposition compartment
14
Nested States
The Active state of
Campaign with the
detail hidden. Active : Running
The submachine Running is
referenced using the include
statement.
Hidden decomposition
indicator icon
15
The Active state with concurrent
substates.
Advert Preparation
Running Adverts Scheduling
confirmSchedule
advertsApproved
/authorize
Active
Evaluation
surveyComplete
runSurvey
Running
extendCampaign
/modify Budget
Monitoring
Survey
16
campaignCompleted
/prepareFinalStatement
17
Membuat state machines
• Ada 2 pendekatan yang digunakan:
– Pendekatan perilaku
– Pendekatan siklus hidup
Allen and Frost (1998)
18
Pendekatan Perilaku
1. Periksa semua diagram iteraksi untuk setiap
kelas yang memiliki message.
2. identifikasi incoming messages uantuk setiap
diagram kelas yang berkorespodensi dengan
events. Identifikasi juga kemungkinan state.
3. Dokumentasikan setiap even dan state dalam
diagram state.
4. Eloborasi dengan menambahkan iteraksi yang
penting sehingga jelas
19
Pendekatan Perilaku
5. Buat nested state machines.
6. Review state machine untuk memastikan
konsistensi dengan usecase
20
Pendekatan Perilaku
7. Ulangi langkah 4, 5 dan 6 sampai diperoleh state
diagram rinci
8. Cek konsistensi dengan diagram lainnya
Sequence
Diagram with
States Shown
:Client :Campaign
listCampaigns
:CampaignManager
sd Record completion of a campaign
loop
:CompleteCampaignUI
:CompleteCampaign
selectClient
loop
getCampaignDetails()
e
startInterfac
[For all clients]
getClient
showClientCampaigns
[For all client’s campaigns]
completeCampaign
completeCampaign completeCampaign
Active state
Completed state
Active
Completed
21
Initial state
machine for the
Campaign class—a
behavioural
approach.
sm Campaign Version 1
/assignManager;
assignStaff
Commissioned
authorized(authorizationCode)
[contract signed]
/setCampaignActive
extendCampaign advertsApproved
/modify Budget /authorize
Advert Preparation
Running Adverts
confirmSchedule
Scheduling
campaignCompleted
/prepareFinalStatement
paymentReceived(payment)
[paymentDue - payment < zero] paymentReceived(payment)
/generateRefund
Completed
[paymentDue - payment > zero]
paymentReceived(payment)
[paymentDue - payment = zero]
Paid
archiveCampaign
/unassignStaff;
unassignManager
22
ate machine
ampaign
Revised st
for the C
class.
22
Commissioned
assignStaff
Advert Preparation
Completed
Paid
campaignCompleted
/prepareFinalStatement
paymentReceived (payment)
[paymentDue - payment > zero]
paymentReceived (payment)
[paymentDue - payment = zero]
archiveCampaign
/unassignStaff;
paymentReceived (payment)
[paymentDue - payment < zero]
/generateRefund
Running Adverts Scheduling
confirmSchedule
extendCampaign
/modifyBudget
advertsApproved
/authorize
Authorized (authorizationCode)
[contract signed]
/setCampaignActive
Active
sm Campaign Version 2
/assignManager;
unassignManager
Final version of
Campaign
state machine.
23
Advert Preparation
Running Adverts Scheduling
confirmSchedule
/modify Budget
advertsApproved
/authorize
Running
extendCampaign
Survey
Evaluation
surveyComplete
runSurvey
Monitoring
authorized(authorizationCode)
[contract signed]
/setCampaignActive
assignStaff
Paid
[paymentDue - payment > zero]
paymentReceived(payment)
[paymentDue - payment = zero]
archiveCampaign
/unassignStaff;
unassignManager
Active
campaignCompleted
/prepareFinalStatement
paymentReceived(payment)
Commissioned
Completed
campaignCancelled
/cancelSchedule
calculateCosts;
prepareFinalStatement
Suspended
H
suspendCampaign
/stopAdverts
resumeCampaign
H
campaignCancelled
/calculateCosts;
prepareFinalStatement
sm Campaign Version 3
/assignManager;
paymentReceived(payment)
[paymentDue - payment < zero]
/generateRefund

More Related Content

Similar to 10.pptx

Software quality factors (revisi)
Software quality factors (revisi)Software quality factors (revisi)
Software quality factors (revisi)inggrid_5209100069
 
Pertemuan 3 activity
Pertemuan 3 activityPertemuan 3 activity
Pertemuan 3 activityheriakj
 
Pemograman Java Visual MATERI 2 tentang EVENT HANDLER
Pemograman Java Visual MATERI 2 tentang EVENT HANDLERPemograman Java Visual MATERI 2 tentang EVENT HANDLER
Pemograman Java Visual MATERI 2 tentang EVENT HANDLERramadhani170488
 
Tugas 5 - Studi Pemodelan Dan Simulasi.pptx
Tugas 5 - Studi Pemodelan Dan Simulasi.pptxTugas 5 - Studi Pemodelan Dan Simulasi.pptx
Tugas 5 - Studi Pemodelan Dan Simulasi.pptxMuhammadTaufiksez
 
Dicoding Developer Coaching #25: Android | UI Testing pada Asynchronous denga...
Dicoding Developer Coaching #25: Android | UI Testing pada Asynchronous denga...Dicoding Developer Coaching #25: Android | UI Testing pada Asynchronous denga...
Dicoding Developer Coaching #25: Android | UI Testing pada Asynchronous denga...DicodingEvent
 
Building A Simple Robot in VREP
Building A Simple Robot in VREPBuilding A Simple Robot in VREP
Building A Simple Robot in VREPLusiana Diyan
 
Jeni j2 me-bab11-topik-topik tambahan
Jeni j2 me-bab11-topik-topik tambahanJeni j2 me-bab11-topik-topik tambahan
Jeni j2 me-bab11-topik-topik tambahanUNIVERSITY Of LAMPUNG
 
Pengenalan_Kerangka_Kerja_Logis.pptx
Pengenalan_Kerangka_Kerja_Logis.pptxPengenalan_Kerangka_Kerja_Logis.pptx
Pengenalan_Kerangka_Kerja_Logis.pptxAnggrekParia
 
Descrete event system simulations (DESS).pptx
Descrete event system simulations (DESS).pptxDescrete event system simulations (DESS).pptx
Descrete event system simulations (DESS).pptxSiti Fauzatun W.
 
Algoritma perulangan
Algoritma perulanganAlgoritma perulangan
Algoritma perulanganazkiyaku
 
PPT Materi Analysis Modelling.pptx
PPT Materi Analysis Modelling.pptxPPT Materi Analysis Modelling.pptx
PPT Materi Analysis Modelling.pptxTaufikHidayat8361
 
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widgetChapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widgetEdi Faizal
 
Laporan Praktikum Algoritma Pemrograman Modul II
Laporan Praktikum Algoritma Pemrograman Modul IILaporan Praktikum Algoritma Pemrograman Modul II
Laporan Praktikum Algoritma Pemrograman Modul IIShofura Kamal
 

Similar to 10.pptx (20)

UML
UMLUML
UML
 
Software quality factors (revisi)
Software quality factors (revisi)Software quality factors (revisi)
Software quality factors (revisi)
 
Pertemuan 3 activity
Pertemuan 3 activityPertemuan 3 activity
Pertemuan 3 activity
 
Fuzzyfikasi
FuzzyfikasiFuzzyfikasi
Fuzzyfikasi
 
Pemograman Java Visual MATERI 2 tentang EVENT HANDLER
Pemograman Java Visual MATERI 2 tentang EVENT HANDLERPemograman Java Visual MATERI 2 tentang EVENT HANDLER
Pemograman Java Visual MATERI 2 tentang EVENT HANDLER
 
Tugas 5 - Studi Pemodelan Dan Simulasi.pptx
Tugas 5 - Studi Pemodelan Dan Simulasi.pptxTugas 5 - Studi Pemodelan Dan Simulasi.pptx
Tugas 5 - Studi Pemodelan Dan Simulasi.pptx
 
Looping
LoopingLooping
Looping
 
Dicoding Developer Coaching #25: Android | UI Testing pada Asynchronous denga...
Dicoding Developer Coaching #25: Android | UI Testing pada Asynchronous denga...Dicoding Developer Coaching #25: Android | UI Testing pada Asynchronous denga...
Dicoding Developer Coaching #25: Android | UI Testing pada Asynchronous denga...
 
Building A Simple Robot in VREP
Building A Simple Robot in VREPBuilding A Simple Robot in VREP
Building A Simple Robot in VREP
 
Jeni J2 Me Bab11 Topik Topik Tambahan
Jeni J2 Me Bab11 Topik Topik TambahanJeni J2 Me Bab11 Topik Topik Tambahan
Jeni J2 Me Bab11 Topik Topik Tambahan
 
Jeni j2 me-bab11-topik-topik tambahan
Jeni j2 me-bab11-topik-topik tambahanJeni j2 me-bab11-topik-topik tambahan
Jeni j2 me-bab11-topik-topik tambahan
 
Modul ii
Modul iiModul ii
Modul ii
 
Pengenalan_Kerangka_Kerja_Logis.pptx
Pengenalan_Kerangka_Kerja_Logis.pptxPengenalan_Kerangka_Kerja_Logis.pptx
Pengenalan_Kerangka_Kerja_Logis.pptx
 
00 introduction
00 introduction00 introduction
00 introduction
 
Descrete event system simulations (DESS).pptx
Descrete event system simulations (DESS).pptxDescrete event system simulations (DESS).pptx
Descrete event system simulations (DESS).pptx
 
Algoritma perulangan
Algoritma perulanganAlgoritma perulangan
Algoritma perulangan
 
PPT Materi Analysis Modelling.pptx
PPT Materi Analysis Modelling.pptxPPT Materi Analysis Modelling.pptx
PPT Materi Analysis Modelling.pptx
 
Software Quality Factors
Software Quality FactorsSoftware Quality Factors
Software Quality Factors
 
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widgetChapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
 
Laporan Praktikum Algoritma Pemrograman Modul II
Laporan Praktikum Algoritma Pemrograman Modul IILaporan Praktikum Algoritma Pemrograman Modul II
Laporan Praktikum Algoritma Pemrograman Modul II
 

Recently uploaded

bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikaAtiAnggiSupriyati
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDNurainiNuraini25
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxJamhuriIshak
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfDimanWr1
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...Kanaidi ken
 
tugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarantugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarankeicapmaniez
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxadimulianta1
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDmawan5982
 
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfTUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfElaAditya
 
Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapsefrida3
 
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajatLatihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajatArfiGraphy
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdfsdn3jatiblora
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1udin100
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfirwanabidin08
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfSitiJulaeha820399
 
442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptx442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptxHendryJulistiyanto
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfCandraMegawati
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMmulyadia43
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxRezaWahyuni6
 
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxPaparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxIgitNuryana13
 

Recently uploaded (20)

bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
 
tugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarantugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajaran
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptx
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SD
 
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfTUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
 
Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genap
 
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajatLatihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
 
442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptx442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptx
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptx
 
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxPaparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
 

10.pptx

  • 1. Analisis Berbasis Obyek Program Studi Informatika Sesi 10 – Specifiying Control Muhammad Ikhwani Saputra, MKom
  • 3. Pembahasan: 3 • Bagaimana mengidentifikasi kebutuhan sebagai pengendalian dalam aplikasi; • Bagaimana membuat model siklus hidup suatu obyek dengan menggunakan State Marchine; • Bagaimana mengembangkan diagram State Marchine dari diagram interaksi; • Bagaimana membuat model perilaku dalam objek; • bagaimana memastikan konsistensi dengan model UML lainnya.
  • 4. 4 State • current state (Kondisi saat ini) ada suatu objek ditentukan oleh current value (Nilai saat ini) dari suatu atribut objek serta link yang menghubungkan objek tersebut dengan objek lainnya. • Contohnya class StaffMember memiliki atribut startDate yang menentukan seorang staff StaffMember berada pada status percobaan
  • 5. 5 State • Sebuah State menggambarkan kondisi yang terjadi pada saat itu dalam periode waktu tertentu sampai adanya peristiwa atau pemicu yang menyebabkan perubahan. • Objek pada suatu objek dibatasi oleh kelas • Objek pada suatu kelas itu hanya berada pada satu state pada waktu tertentu.
  • 6. 6 state machine • State GradeRate pada objek ditentukan oleh 2 atribut yaitu rateStartDate dan rateFinishDate. • State pada GrateRate bisa Pending (tertunda), Active (aktif) atau Lapsed (tidak digunakan).
  • 7. state machine © Bennett, McRobb and Farmer 2005 6 state machine for the class GradeRate. Movement from one state to another is dependent upon events that occur with the passage of time. Pending Active Lapsed Transition between states [rateStartDate <= currentDate] [rateFinishDate <= currentDate] after [1 year] Final psuedostate Initial pseudostate GradeRate Relative time trigger State Change trigger state machine GradeRate
  • 8. 8 Type Event • change trigger terjadi jika kondisi terpenuhi • call trigger terjadi pada saat objek menerima perintah operasi dari objek lain atau dari objek itu sendiri. • signal trigger terjadi pada saat objek menerima signal (misalkan asynchronous communication). • relative-time trigger terjadi seiring dengan jalannya waktu yang telah di tetapkan untuk terjadinya suatu perubahan.
  • 10. Internal Activities State Name entry /activity-expression exit /activity-expression do /activity Name compartment Internal activities compartment 10
  • 11. ‘Menu Visible’ State Menu Visible state for a DropDownMenu object. Menu Visible itemSelected / highlightItem entry/ displayMenu do / playSoundClip exit / hideMenu Name compartment Internal activities compartment Internal transitions compartment event itemSelected() triggers the action highlightItem() While the object remains in the Menu Visible state, the activity causes a sound clip to be played. Exiting the state triggers hideMenu() entry action causes the menu to be displayed 11
  • 12. state machine for the class Campaign. Commissioned Authorized(authorizationCode) [contractSigned] /setCampaignActive /assignManager; assignStaff Active Completed Paid campaignCompleted /prepareFinalStatement paymentReceived(payment) [paymentDue - payment > zero] paymentReceived(payment) [paymentDue - payment <= zero] archiveCampaign /unassignStaff; unassignManager Recursive transition models any payment event that does not reduce the amount due to zero or beyond. Action-expression assigning manager and staff on object creation Guard condition ensuring complete payment before entering Paid 12
  • 13. A revised state machine for the class Campaign /assignManager; assignStaff Commissioned Authorized(authorizationCode) [contract signed] /setCampaignActive Active Completed Paid campaignCompleted /prepareFinalStatement paymentReceived(payment) [paymentDue - payment > zero] paymentReceived(payment) [paymentDue - payment = zero] archiveCampaign /unassignStaff; unassignManager paymentReceived(payment) [paymentDue - payment < zero] /generateRefund If the user requirements were to change, so that an overpayment is now to result in the automatic generation of a refund, a new transition is added. 13
  • 14. Nested Substates The Active state of Campaign showing nested substates. Transisi pada initial pseudostate tidak perlu di beri label pada contoh ini Advert Preparation Running Adverts Scheduling confirmSchedule campaignCompleted /prepareFinalStatement extendCampaign /modify Budget advertsApproved /authorize Active Decomposition compartment 14
  • 15. Nested States The Active state of Campaign with the detail hidden. Active : Running The submachine Running is referenced using the include statement. Hidden decomposition indicator icon 15
  • 16. The Active state with concurrent substates. Advert Preparation Running Adverts Scheduling confirmSchedule advertsApproved /authorize Active Evaluation surveyComplete runSurvey Running extendCampaign /modify Budget Monitoring Survey 16 campaignCompleted /prepareFinalStatement
  • 17. 17 Membuat state machines • Ada 2 pendekatan yang digunakan: – Pendekatan perilaku – Pendekatan siklus hidup Allen and Frost (1998)
  • 18. 18 Pendekatan Perilaku 1. Periksa semua diagram iteraksi untuk setiap kelas yang memiliki message. 2. identifikasi incoming messages uantuk setiap diagram kelas yang berkorespodensi dengan events. Identifikasi juga kemungkinan state. 3. Dokumentasikan setiap even dan state dalam diagram state. 4. Eloborasi dengan menambahkan iteraksi yang penting sehingga jelas
  • 19. 19 Pendekatan Perilaku 5. Buat nested state machines. 6. Review state machine untuk memastikan konsistensi dengan usecase
  • 20. 20 Pendekatan Perilaku 7. Ulangi langkah 4, 5 dan 6 sampai diperoleh state diagram rinci 8. Cek konsistensi dengan diagram lainnya
  • 21. Sequence Diagram with States Shown :Client :Campaign listCampaigns :CampaignManager sd Record completion of a campaign loop :CompleteCampaignUI :CompleteCampaign selectClient loop getCampaignDetails() e startInterfac [For all clients] getClient showClientCampaigns [For all client’s campaigns] completeCampaign completeCampaign completeCampaign Active state Completed state Active Completed 21
  • 22. Initial state machine for the Campaign class—a behavioural approach. sm Campaign Version 1 /assignManager; assignStaff Commissioned authorized(authorizationCode) [contract signed] /setCampaignActive extendCampaign advertsApproved /modify Budget /authorize Advert Preparation Running Adverts confirmSchedule Scheduling campaignCompleted /prepareFinalStatement paymentReceived(payment) [paymentDue - payment < zero] paymentReceived(payment) /generateRefund Completed [paymentDue - payment > zero] paymentReceived(payment) [paymentDue - payment = zero] Paid archiveCampaign /unassignStaff; unassignManager 22
  • 23. ate machine ampaign Revised st for the C class. 22 Commissioned assignStaff Advert Preparation Completed Paid campaignCompleted /prepareFinalStatement paymentReceived (payment) [paymentDue - payment > zero] paymentReceived (payment) [paymentDue - payment = zero] archiveCampaign /unassignStaff; paymentReceived (payment) [paymentDue - payment < zero] /generateRefund Running Adverts Scheduling confirmSchedule extendCampaign /modifyBudget advertsApproved /authorize Authorized (authorizationCode) [contract signed] /setCampaignActive Active sm Campaign Version 2 /assignManager; unassignManager
  • 24. Final version of Campaign state machine. 23 Advert Preparation Running Adverts Scheduling confirmSchedule /modify Budget advertsApproved /authorize Running extendCampaign Survey Evaluation surveyComplete runSurvey Monitoring authorized(authorizationCode) [contract signed] /setCampaignActive assignStaff Paid [paymentDue - payment > zero] paymentReceived(payment) [paymentDue - payment = zero] archiveCampaign /unassignStaff; unassignManager Active campaignCompleted /prepareFinalStatement paymentReceived(payment) Commissioned Completed campaignCancelled /cancelSchedule calculateCosts; prepareFinalStatement Suspended H suspendCampaign /stopAdverts resumeCampaign H campaignCancelled /calculateCosts; prepareFinalStatement sm Campaign Version 3 /assignManager; paymentReceived(payment) [paymentDue - payment < zero] /generateRefund