uml & kasusnya
Post on 12-Jul-2015
605 Views
Preview:
TRANSCRIPT
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 1/38
Pemodelan Objek dengan Menggunakan UML
Menurut Dharwiyanti dan Wahono (2003), Unified Modelling Language (UML)
adalah sebuah "bahasa" yang telah menjadi standar dalam industri untuk visualisasi,
merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah
standar untuk merancang model sebuah sistem.
Dengan menggunakan UML, model dapat dibuat untuk semua jenis aplikasi piranti
lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan
jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML
juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok
untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti Delphi,
C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk
modeling aplikasi prosedural dalam VB atau C.
Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax (semantik).
Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai
diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan syntax UML
mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML
terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD
(Object-Oriented Design ), Jim Rumbaugh OMT (Object Modeling Technique ), dan Ivar
Jacobson OOSE (Object-Oriented Software Engineering ).
Sejarah UML sendiri cukup panjang. Sampai era tahun 1990, puluhan metodologi
pemodelan berorientasi objek telah bermunculan di dunia. Di antaranya adalah:
metodologi booch, metodologi coad, metodologi OOSE, metodologi OMT, metodologi
shlaer-mellor, metodologi wirfs-brock, dsb. Masa itu terkenal dengan masa perang
metodologi (method war ) dalam pendesainan berorientasi objek. Masing-masing
metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru
apabila bekerjasama dengan group/perusahaan lain yang menggunakan metodologi
yang berlainan.
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 2/38
Gambar 2.1 Penyatuan Metodologi Pendesainan Berorientasi Objek.
Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yangmerupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori
usaha untuk penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995
direlease konsep pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan
tersebut dikoordinasikan oleh Object Management Group (OMG). Sejak saat itulah UML
telah menjelma menjadi standar bahasa pemodelan untuk aplikasi berorientasi objek.
1. Use Case Diagram
Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah
sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”.Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use
case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create
sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas
manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-
pekerjaan tertentu.
Use case diagram dapat sangat membantu dalam menyusun requirement sebuah
sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk
semua feature yang ada pada sistem.Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian
dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include
akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal.
Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi
fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common .
UML OMG(Object Management Group)
Rumbaugh
JacobsonBooch
Odell
Meyer
Gamma
Shlaer andMellor
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 3/38
Sebuah use case juga dapat meng-extend use case lain dengan behaviour -nya
sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use
case yang satu merupakan spesialisasi dari yang lain.
Gambar 2.2 Contoh Use Case Diagram.
2. Class Diagram
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah
objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class
menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan
layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram
menggambarkan struktur dan deskripsi class .
Class memiliki tiga area pokok :
1. Nama (dan stereotype).
2. Atribut.
3. Metoda.
Atribut dan metoda dapat memiliki salah satu sifat berikut :
1. Private , tidak dapat dipanggil dari luar class yang bersangkutan. Private diberi tanda
minus (-) pada awal nama attribut atau nama operasi.
Cancel Appointment
Make Appointment
Check PatientRecord
Request Medication
Defer Payment
Pay BillExtension PointMore Treatment
Bill Insurance
Clinic
Patient
Scheduler
Doctor
Clerk
<<include>>
<<include>>
<<extend>>
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 4/38
2. Protected , hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang
mewarisinya. Private diberi tanda pagar (#) pada awal nama attribut atau nama
operasi.
3. Public , dapat dipanggil oleh siapa saja. Private diberi tanda plus (+) pada awal nama
attribut atau nama operasi.
Nama Class
+publicAtribut : <tipe data>
-privateAtribut : <tipe data>
#protectedAtribut : <tipe data>
+publicOperasi
-privateOperasi
#protectedOperasi
Gambar 2.3 Notasi Public, Private dan Protected pada Class Diagram.
Class dapat merupakan implementasi dari sebuah interface , yaitu class abstrak
yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi
harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface
mendukung resolusi metoda pada saat run-time .
3. Statechart Diagram
Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu
state ke state lainnya) suatu objek pada sistem, sebagai akibat dari stimuli yang
diterima. Pada umumnya, statechart diagram menggambarkan class tertentu (satu class
dapat memiliki lebih dari satu statechart diagram ).
Dalam UML, state digambarkan berbentuk segiempat, dengan sudut membulat
dan memiliki nama sesuai kondisinya saat itu. Transisi antar state umumnya memiliki
kondisi guard, yang merupakan syarat terjadinya transisi yang bersangkutan (dituliskan
dalam kurung siku). Action yang dilakukan sebagai akibat dari event tertentu dituliskan
dengan diawali garis miring.
Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan
berwarna setengah.
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 5/38
Gambar 2.4 Contoh Statechart Diagram.
4. 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. Activity diagram juga dapat menggambarkan
proses paralel yang mungkin terjadi pada beberapa eksekusi.
Activity diagram merupakan state diagram khusus, di mana sebagian besar state
adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya
(internal processing ). Oleh karena itu, activity diagram tidak menggambarkan behaviour
internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih
menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.
Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas
menggambarkan proses yang berjalan, sementara use case menggambarkan
bagaimana aktor menggunakan sistem untuk melakukan aktivitas.
Sama seperti state , standar UML menggunakan segiempat dengan sudut
membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan
behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel ( fork dan
join ) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal.
Processing Request
+ Filter string
Viewing Adding to Chart
Adding
Select [Filter]
Start
End
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 6/38
Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan
objek mana yang bertanggung jawab untuk aktivitas tertentu.
Gambar 2.5 Contoh Activity Diagram.
5. Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar
sistem (termasuk pengguna, display , dan sebagainya) berupa message yang
digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu)
dan dimensi horizontal (objek-objek yang terkait).
Sequence diagram biasa digunakan untuk menggambarkan skenario atau
rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk
menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut,proses dan perubahan apa saja yang terjadi secara internal dan output apa yang
dihasilkan.
Find Beverage
Put Coffeein Filter
Add Water toReservoir
Get Cups
Put Filter inMachine
Turn onMachine
Brew Coffee
Pour Coffee Drink Beverage
decision
[no coffee]
[no cola]
Start
End
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 7/38
Gambar 2.6 Contoh Sequence Diagram.
6. Component Diagram
Component diagram menggambarkan struktur dan hubungan antar komponen
piranti lunak, termasuk ketergantungan (dependency ) di antaranya. Komponen piranti
lunak adalah modul berisi code , baik berisi source code maupun binary code , baik
library maupun executable , baik yang muncul pada compile time, link time , maupun run
time . Umumnya komponen terbentuk dari beberapa class dan/atau package , tapi dapat
juga dari komponen-komponen yang lebih kecil.
Komponen dapat juga berupa interface , yaitu kumpulan layanan yang disediakan
sebuah komponen untuk komponen lain.
Gambar 2.7 Contoh Component Diagram.
Customer
Login Screen SecurityManager
Login Screen
Login
Validate User
Check User Details
User Detail
Validate
[Result]
Kernel32.dll
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 8/38
7. Deployment Diagram
Deployment/physical diagram menggambarkan detail bagaimana komponen di-
deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server
atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut,
spesifikasi server, dan hal-hal lain yang bersifat fisikal. Sebuah node adalah server,
workstation , atau piranti keras lain yang digunakan untuk men-deploy komponen dalam
lingkungan sebenarnya.
Gambar 2.8
Contoh Deployment Diagram.
Internet
Client WebServer
Web Server
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 9/38
CONTOH KASUS MENGGUNAKAN BAHASA PEMROGRAMAN VISUAL
Use Case Diagram
Gambar Use Case Diagram.
Tabel 1 Use case spesification Melakukan Koneksi dan Login.
Use Case Spesification
1. Nama Use Case :
Melakukan Koneksi dan Login.
2. Deskripsi singkat :
Use case ini melakukan koneksi ke Server sekaligus melakukan login. Jika
sudah ada client yang terkoneksi atau password salah, maka login tidak
diterima sehingga client tidak bisa mengakses Server.
3. Basic Flow :
a. Pengawas menginput password lalu melakukan koneksi dan login ke
Server melalui Client.
b. Jika belum ada Client lain yang login ke Server, maka dilanjutkan dengan
proses login.
Melakukan
Koneksi danLogin
Me-requestInformasi/Data
MenerimaInformasi/Data
Disconnect
Save DataServer
Open DataServer
Menerima
Request Client
MelaksanakanRequest Client
MengumpulkanInformasi/Data
MengirimInformasi/Data
Client Proses Server Proses
Pengawas
User yangdiawasi
Mengkonfigurasi
ManajemenDaftar Server
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 10/38
c. Jika password benar, maka Pengawas bisa mengakses Server.
4. Alternate Flow :
a. Jika Server belum diaktifkan atau Server tidak ditemukan, maka proses
koneksi dan login tidak dilanjutkan.
b. Jika ada Client lain yang sudah login ke Server, maka proses login tidak
dilanjutkan.
c. Jika password salah, maka Pengawas melakukan proses koneksi dan
Login lagi.
5. Special requirement :
a. Nomor Port.
b. Alamat IP atau Hostname .
c. Password.
6. Pre-condition : Disconnected.
7. Post-condition : Connected.
Tabel 2 Use case spesification Me-request Informasi/Data.
Use Case Spesification
1. Nama Use Case :
Me-request Informasi/Data.
2. Deskripsi singkat :
Use case ini melakukan request (meminta) informasi atau data ke Server
melalui Client. Request dapat berupa permintaan informasi dan data, serta
perintah.
3. Basic Flow :
Pengawas melakukan Request informasi atau data ke Server melalui Client.
Request yang bisa dilakukan oleh user yaitu :
1. Title aplikasi yang dijalankan pada komputer remote (Server).
2. Menutup salah satu aplikasi yang dijalankan pada komputer remote.
3. Data Tuts Keyboard yang ditekan oleh User yang sedang diawasi.
4. Screenshoot layar monitor komputer remote.
5. Pengendalian mouse dan keyboard komputer remote.
6. File manajemen, yaitu browsing file, upload file, download file, rename file,
delete file dan buat folder baru.
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 11/38
7. Mengirim pesan kepada User yang diawasi.
4. Alternate Flow :
a. Jika belum terkoneksi maka Pengawas tidak bisa melakukan request.
b. Jika satu request belum selesai diproses dan diterima, maka Pengawas
belum bisa melakukan request.
Tabel 3 Use case spesification Menerima Informasi/Data.
Use Case Spesification
1. Nama Use Case :
Menerima Informasi/Data.
2. Deskripsi singkat :
Use case ini menerima informasi atau data dari Server sesuai dengan yang di
request oleh Pengawas, kemudian menyajikan informasi atau data tersebut
kepada Pengawas.
3. Basic Flow :
a. Menerima informasi atau data dari Server.
b. Menyeleksi jenis informasi atau data yang diterima.
c. Memproses data hasil seleksi.
d. Menampilkan informasi atau data kepada Pengawas.
4. Alternate Flow :
Jika informasi atau data yang diterima tidak valid, maka informasi tidak
ditampilkan.
5. Special requirement : Informasi/Data.
Tabel 4 Use case spesification Disconnect.
Use Case Spesification
1. Nama Use Case :
Disconnect.
2. Deskripsi singkat :
Use case memutuskan hubungan dengan Server.
3. Basic Flow :
Pengawas memutuskan hubungan dengan Server.
4. Pre-condition : Connected.
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 12/38
5. Post-condition : Disconnected.
Tabel 5 Use case spesification Save Data Server.
Use Case Spesification
1. Nama Use Case :
Save Data Server.
2. Deskripsi singkat :
Use case ini menyimpan daftar server ke dalam file yang berekstensi *.sdt
(server data).
3. Basic Flow :
Pengawas meyimpan daftar server ke dalam file dengan eksetensi *.sdt.
4. Special requirement : Daftar server.
Tabel 6 Use case spesification Open Data Server.
Use Case Spesification
1. Nama Use Case :
Open Data Server.
2. Deskripsi singkat :
Use case ini membuka file berekstensi *.sdt (server data) dan
memasukkannya ke dalam daftar server.
3. Basic Flow :
Pengawas membuka file dengan eksetensi *.sdt.
4. Special requirement : File berekstensi *.sdt.
Tabel 7 Use case spesification Manajemen Daftar Server.
Use Case Spesification
1. Nama Use Case :
Manajemen Daftar Server.
2. Deskripsi singkat :
Use case ini melakukan manajemen terhadap daftar server, dimana
manajemen dapat berupa add server, edit server, dan delete server.
3. Basic Flow :
Pengawas memilih salah satu fungsi manajemen yang ada untuk mengelolah
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 13/38
daftar server.
Tabel 8 Use case spesification Mengkonfigurasi.
Use Case Spesification
1. Nama Use Case :
Mengkonfigurasi.
2. Deskripsi singkat :
Use case ini melakukan konfigurasi Client.
3. Basic Flow :
Pengawas melakukan perubahan terhadap nilai konfigurasi default sesuai
kebutuhan.
4. Alternate Flow :
Jika tidak dilakukan konfigurasi, sistem akan menggunakan konfigurasi
default.
Tabel 9 Use case spesification Menerima Request Client.
Use Case Spesification
1. Nama Use Case :
Menerima Request Client.
2. Deskripsi singkat :
Use case ini menerima request dari Client lalu menyeleksi jenis request yang
diterima.
3. Basic Flow :
a. Menerima request dari Client.
b. Menyeleksi request yang diterima.
Tabel10 Use case spesification Melaksanakan Request Client.
Use Case Spesification1. Nama Use Case :
Melaksanakan Request Client.
2. Deskripsi singkat :
Use case ini melaksanakan request Client, seperti mengeksekusi file,
mendelete file, menampilkan pesan ke layar monitor dll.
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 14/38
3. Basic Flow :
Melaksanakan request dari Client.
Tabel 11 Use case spesification Mengumpulkan Informasi/Data.
Use Case Spesification
1. Nama Use Case :
Pengumpulan Informasi/Data.
2. Deskripsi singkat :
Use case ini mengumpulkan informasi atau data yang direquest oleh Client,
seperti daftar tittle aplikasi, penekanan tuts keyboard, screenshoot layar
monitor.
3. Basic Flow :
Mengumpulkan informasi atau data yang direquest oleh Client.
Tabel 12 Use case spesification Mengirim Informasi/Data.
Use Case Spesification
1. Nama Use Case :
Mengirim Informasi/Data.
2. Deskripsi singkat :
Use case ini mengirim informasi atau data yang sudah dikumpulkan sesuai
request dari Client.
3. Basic Flow :
Informasi atau data yang berhasil dikumpulkan di kirim ke Client.
4. Alternate Flow :
Jika informasi atau data tidak tersedia atau tidak berhasil dikumpulkan, maka
informasi yang di kirim ke Client adalah informasi bahwa Server gagal
mengumpulkan data
5. Special requirement : Informasi/Data.
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 15/38
Deployment Diagram
Gambar 2 Deployment Diagram.
Class Diagram
Gambar 3 Class Diagram pada Aplikasi Client dan Server.
Notasi Class.
1. Class pada Aplikasi Client
TFormUtama
+MainMenu: TMainMenu
+File1: TMenuItem
+ClientUtama: TClientSocket
+StatusBar: TStatusBar
+PanelAtas: TPanel
+LabelIP: TLabel
+EditPort: TEdit
+LabelPort: TLabel
EthernetKomputer
Client
Komputer
Server
Berfungsi sebagaisarana pengakses
server, yang langsungberinteraksi dengan
Pengawas
Sebagai penyedialayanan untuk Client,yang menerima dan
melaksanakanRequest Client
TFormUtama
ServerClient
TFormUtama TClientUtama TFormOption
TFormEditServer TFormInputFileName TFormScrshootTFormUtama
<<include>>
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 16/38
+Indicator: TShape
+ButtonConnect: TButton
+PageControl: TPageControl
+TabServerList: TTabSheet
+EditPassword: TEdit
+LabelPassword: TLabel
+ListServer: TListView
+PopupServerList: TPopupMenu+AddServer1: TMenuItem
+EditServer1: TMenuItem
+DeleteServer1: TMenuItem
+Connect1: TMenuItem
+EditIP: TEdit
+TabRunningApp: TTabSheet
+ListRunApp: TListView
+ButtonRefresh: TButton
+ButtonCloseApp: TButton
+CBHiddenApp: TCheckBox
+LabelBackApp: TLabel
+GBAppTool: TGroupBox
+EditAppHandle: TEdit
+StatusBarRunApp: TStatusBar
+PanelRunningApp: TPanel+ButtonClearAppList: TButton
+TabKeyManager: TTabSheet
+MemoKey: TMemo
+TimerAutoRefresh: TTimer
+ServerKeylogger: TServerSocket
+ButtonHapusTeks: TButton
+ButtonFont: TButton
+FontDialog: TFontDialog
+ButtonSaveKeylog: TButton
+SaveDialog: TSaveDialog
+TabRealMon: TTabSheet
+ImageScrshoot: TImage
+ScrollBoxImage: TScrollBox
+ButtonScrshoot: TButton
+CBFullScreen: TCheckBox+LabelQuality: TLabel
+EditScrFileName: TEdit
+GBRealtimeTool: TGroupBox
+LabelScrTime: TLabel;
+LabelScrFileName: TLabel;
+TimerAutoScr: TTimer
+StatusBarScrshoot: TStatusBar
+ButtonClearPicCounter: TButton
+OpenDataServer1: TMenuItem
+SaveDataServer1: TMenuItem
+Server1: TMenuItem
+Connect2: TMenuItem
+Add1: TMenuItem
+EditServer2: TMenuItem
+DeleteServer2: TMenuItem+Option1: TMenuItem
+TabFileManager: TTabSheet
+PanelFMTool: TPanel
+ListFileFolder: TListView
+EditPath: TEdit
+ButtonUp: TButton
+PopupFM: TPopupMenu
+Refresh1: TMenuItem
+Upload1: TMenuItem
+Download1: TMenuItem
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 17/38
+Rename1: TMenuItem
+Delete1: TMenuItem
+StatusBarFM: TStatusBar
+ButtonRoot: TButton
+GoToRoot1: TMenuItem
+NewFolder1: TMenuItem
+OpenDialog: TOpenDialog
+TabMsgManager: TTabSheet+ButtonOffKeylogger: TButton
+TrackBarQuality: TTrackBar
+TrackBarScrTime: TTrackBar
+EditScrTime: TEdit
+EditQuality: TEdit
+TrackBarRefreshTime: TTrackBar
+EditRefreshTime: TEdit
+CBControlMouse: TCheckBox
+CBControlKeyboard: TCheckBox
+MemoKeyboard: TMemo
+PanelKeyboard: TPanel
+ButtonKeyTab: TButton
+ButtonKeyWin: TButton
+PanelKeyLeft: TPanel
+CBKeyShift: TCheckBox+CBKeyCtrl: TCheckBox
+CBKeyAlt: TCheckBox
+CBAutoRefresh: TCheckBox
+GBKeylogger: TGroupBox
+CBOnKeylogger: TCheckBox
+CBAutoScrshoot: TCheckBox
+PanelMonitoring: TPanel
+RGMsgType: TRadioGroup
+ButtonMsgSend: TButton
+ButtonMsgExp: TButton
+RGMsgButton: TRadioGroup
+LabelMsgText: TLabel
+EditMsgText: TEdit
+MatikanServer1: TMenuItem
+RefreshServer1: TMenuItem+ServerBusy: boolean
-TFS: TFileStream
-DataServer: TstringList
-TempList: TstringList
-AppDir: string
-DataServerName: string
-FileSettingName: string
-ServerTask: string
-PicCounter: integer
-ConnectedServer: integer
-ScreenShooting: boolean
+procedure ButtonConnectClick(Sender: TObject)
+procedure ClientUtamaConnect(Sender: TObject; Socket: TCustomWinSocket)
+procedure ClientUtamaDisconnect(Sender: TObject;
Socket: TCustomWinSocket)+procedure ClientUtamaRead(Sender: TObject; Socket: TCustomWinSocket)
+procedure AddServer1Click(Sender: TObject)
+procedure ListServerSelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean)
+procedure DeleteServer1Click(Sender: TObject)
+procedure EditServer1Click(Sender: TObject)
+procedure PopupServerListPopup(Sender: TObject)
+procedure ButtonCloseAppClick(Sender: TObject)
+procedure ButtonRefreshClick(Sender: TObject)
+procedure ListRunAppSelectItem(Sender: TObject; Item: TListItem;
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 18/38
Selected: Boolean)
+procedure ButtonClearAppListClick(Sender: TObject)
+procedure ServerKeyloggerClientRead(Sender: TObject;
Socket: TCustomWinSocket)
+procedure ButtonHapusTeksClick(Sender: TObject)
+procedure ButtonFontClick(Sender: TObject)
+procedure ButtonSaveKeylogClick(Sender: TObject)
+procedure ButtonScrshootClick(Sender: TObject)+procedure ButtonClearPicCounterClick(Sender: TObject)
+procedure EditPathKeyPress(Sender: TObject; var Key: Char)
+procedure ListFileFolderDblClick(Sender: TObject)
+procedure ButtonRootClick(Sender: TObject)
+procedure ButtonUpClick(Sender: TObject)
+procedure Refresh1Click(Sender: TObject)
+procedure Rename1Click(Sender: TObject)
+procedure Delete1Click(Sender: TObject)
+procedure PopupFMPopup(Sender: TObject)
+procedure NewFolder1Click(Sender: TObject)
+procedure Download1Click(Sender: TObject)
+procedure ClientUtamaError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer)
+procedure OpenDataServer1Click(Sender: TObject)
+procedure SaveDataServer1Click(Sender: TObject)+procedure Option1Click(Sender: TObject)
+procedure Server1Click(Sender: TObject)
+procedure ButtonOffKeyloggerClick(Sender: TObject)
+procedure FormClose(Sender: TObject; var Action: TCloseAction)
+procedure FormShow(Sender: TObject)
+procedure ImageScrshootMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer)
+procedure ImageScrshootMouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer)
+procedure ImageScrshootMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer)
+procedure TrackBarQualityChange(Sender: TObject)
+procedure TrackBarScrTimeChange(Sender: TObject)
+procedure TrackBarRefreshTimeChange(Sender: TObject)
+procedure MemoKeyboardKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState)
+procedure MemoKeyboardDblClick(Sender: TObject)
+procedure ButtonKeyTabClick(Sender: TObject)
+procedure ButtonKeyWinClick(Sender: TObject)
+procedure CBKeyShiftClick(Sender: TObject)
+procedure CBKeyCtrlClick(Sender: TObject)
+procedure CBKeyAltClick(Sender: TObject)
+procedure CBAutoRefreshClick(Sender: TObject)
+procedure CBOnKeyloggerClick(Sender: TObject)
+procedure CBAutoScrshootClick(Sender: TObject)
+procedure TabRunningAppExit(Sender: TObject)
+procedure TabRealMonExit(Sender: TObject)
+procedure ButtonMsgExpClick(Sender: TObject)
+procedure ButtonMsgSendClick(Sender: TObject)
+procedure Upload1Click(Sender: TObject)+procedure MatikanServer1Click(Sender: TObject)
+procedure RefreshServer1Click(Sender: TObject)
+procedure AddServer(Data: string)
+procedure OrderServer(Order: string)
-procedure ScrFullScreen
-procedure SendFile
-procedure LoadDataServer(FileName: string)
-procedure SaveDataServer(FileName: string)
-function SplitString(var S: string; Delimiter: string): string
-function GetHideDrive: integer
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 19/38
Gambar 4.5 Class TFormUtama pada Aplikasi Client.
TFormEditServer
+LabelServerName: TLabel
+EditServerName: TEdit+LabelIP: TLabel
+ButtonOK: TButton
+EditIP: TEdit
+EditPort: TEdit
+LabelPort: TLabel
+ButtonCancel: TButton
+CBSaveClose: TCheckBox
+procedure FormShow(Sender: TObject)
+procedure ButtonOKClick(Sender: TObject)
+procedure ButtonCancelClick(Sender: TObject)
Gambar 4.6 Class TFormEditServer.
TFormInputFileName
+LabelFileName: TLabel
+EditFileName: TEdit
+ButtonOK: TButton
+ButtonCancel: Tbutton
+procedure ButtonOKClick(Sender: TObject)
+procedure ButtonCancelClick(Sender: TObject)
Gambar 4.7 Class TFormInputFileName.
TFormOption
+EditDownloadFolder: TEdit
+LabelDownloadFolder: TLabel
+LabelKeyloggerPort: TLabel
+ButtonOK: TButton
+ButtonCancel: TButton
+UDKeyloggerPort: TUpDown
+EditKeyloggerPort: TEdit
+CBHideFloppy: TCheckBox
+CBHideCDROM: TCheckBox
-KeyloggerPort: string
-DownloadFolder: string
+procedure EditKeyloggerPortExit(Sender: TObject)
+procedure FormShow(Sender: TObject)
+procedure ButtonOKClick(Sender: TObject)
+procedure ButtonCancelClick(Sender: TObject)
+procedure UDKeyloggerPortClick(Sender: TObject; Button: TUDBtnType)
Gambar 4.8 Class TFormOption.
TFormScrshoot
+ScrollBox: TScrollBox
+ImageScrshoot: Timage
+procedure FormKeyPress(Sender: TObject; var Key: Char)
+procedure ImageScrshootMouseDown(Sender: TObject; Button:
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 20/38
TMouseButton;
Shift: TShiftState; X, Y: Integer)
+procedure ImageScrshootMouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer)
+procedure ImageScrshootMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer)
-procedure CloseFullScreen
Gambar 4.9 Class TFormScrshoot.
2. Class pada Aplikasi Server
TFormUtama
+ServerUtama: TServerSocket
+MD5: TIdCoderMD5
+TimerKeylogger: TTimer
+ClientKeylogger: TClientSocket
+TimerLoginTimeOut: TTimer
-AppDir: string-KeyLog: string
-KeyLogFileName: string
-FileSettingName: string
-ClientIP: string
-CKeyLog: array[1..550] of Char
-ClientConnected: integer
-TFS: TFileStream
-TFSKeyLog: TFileStream
-Bmp: TBitmap
-Jpg: TJpegImage
-TempHDC: HDC
-OffKeyStatus: boolean
+procedure ServerUtamaClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket)
+procedure ServerUtamaClientRead(Sender: TObject;Socket: TCustomWinSocket)
+procedure FormDestroy(Sender: TObject)
+procedure ClientKeylogger1Error(Sender: TObject;
Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer)
+procedure TimerKeyloggerTimer(Sender: TObject)
+procedure ClientKeyloggerError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer)
+procedure FormCreate(Sender: TObject)
+procedure TimerLoginTimeOutTimer(Sender: TObject)
-procedure SaveSetting
-procedure SendList(Socket: TCustomWinSocket)
-procedure Scrshoot(Quality: byte)
-procedure MouseClick(MouseData: string)-procedure PressKey(KeyData: string)
-procedure SendFile(Socket: TCustomWinSocket)
-procedure MakeFileList(Path: string)
-function SplitString(var S: string; Delimiter: string): string
-function xGetFileSize(FileName: string): DWord
-function ShowMsg(MsgData: string): string
Gambar 4.10 Class TFormUtama pada Aplikasi Server.
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 21/38
Statechart Diagram
Gambar Statechart Diagram.
Disconnected
OnDisconnect()
Connected
OnConnect()
Menunggu Koneksi
OnListen()
Menunggu Request
OnClientRead()
Sending Request
SendText()
Kerjakan Request
SendText()
Connectin
Server Digunakan ataupassword salah
Koneksi diterima
ServerSibuk
MengirimRequest
SelectionRequest
Menerima Data
OnRead()
MengirimData
ServerSiap Menerima
Request
Server
Siap MenerimaRequest
Aplikasi Dijalankan
AplikasiDitutup
AplikasiDitutup Disconnecting
Start
End
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 22/38
Activity Diagram
Gambar Activity Diagram untuk kesuluruhan sistem secara umum.
PilihServer
InputPassword
InputPassword
Connect
Request
ProsesRequest
Kirim HasilProses Request
Mengkonfigurasi ManajemenDaftar Server Save DataServer Open DataServer
[ServerTerpakai]
[PasswordSalah]
Tampilkan HasilRequest
Start
End
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 23/38
Gambar Activity Diagram Manajemen Daftar Server.
Gambar Activity Diagram untuk Save/Open Data Server.
End
Start
Edit ServerAdd Server Delete Server
Input NamaServer
Input IPAddress
Input NomorPort
Simpan ke
Daftar Server
Input NamaServer
Input NomorPort
Simpan keDaftar Server
Hapus dariDaftar Server
Start
Salin isi File kedalam Daftar
Server
Save DaftarServer
Input NamaFile
End
Open DaftarServer
Simpan DaftarServer ke dalam
file (*.sdt)
Pilih File(*.sdt)
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 24/38
Sequence Diagram
Gambar Sequence Diagram untuk Use Case Melakukan Koneksi dan Login.
Gambar Sequence Diagram untuk Use Case Me-request Informasi/Data.
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 25/38
Gambar Sequence Diagram untuk Use Case Menerima Informasi/Data.
Gambar Sequence Diagram untuk Use Case Disconnect.
Gambar Sequence Diagram untuk Use Case Save Data Server.
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 26/38
Gambar Sequence Diagram untuk Use Case Open Data Server.
Gambar Sequence Diagram untuk Use Case Mengkonfigurasi.
Gambar Sequence Diagram untuk Use Case Menerima Request Client.
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 27/38
Gambar Sequence Diagram untuk Use Case Melaksanakan Request Client.
Gambar Sequence Diagram untuk Use Case Mengumpulkan Informasi/Data.
Gambar Sequence Diagram untuk Use Case Mengirim Informasi/Data.
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 28/38
Component Diagram
Gambar Component Diagram.
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 29/38
Contoh Kasus WEB
Use Case Diagram
Gambar Use Case Diagram
Warehouse Management System online padaSub Divre BULOG Wilayah V Bulukumba
Mitra
KesepakatanKontrak kerja
DO ke gudang 1
Divre
Gudang 2
Gudang 1
Laporan realisasiDO dari gudang 1
DO ke gudang 2
Laporan realisasiDO dari gudang 2
Gudang n
DO ke gudang n
Laporan realisasiDO dari gudang n
Pemda
Surat perintahalokasi (SPA )
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 30/38
1. Nama Use Case
Kesepakatan kerja
2. Deskripsi Singkat
Use case ini akan menghasilkan kontrak kerja antara Divre dengan mitra kerja
BULOG
3. Basic Flow
Divre mengidentifikasi permohonan kontrak kerja yang diajukan oleh mitra kerja
BULOG guna di setujui atau tidak nya pengajuan kontrak tersebut.
1. Nama Use Case
Surat perintah alokasi (SPA)
2. Deskripsi Singkat
Use Case ini menghasilkan dasar permintaan guna terbitnya SPPB penyaluran
beras untuk keperluan Raskin
3. Basic Flow
Pemda menyampaikan Surat perintah alokasi (SPA) Raskin ke Divre
1. Nama Use Case
DO ke gudang 1
2. Deskripsi Singkat
Use case ini akan menghasilkan Delivery order (DO) apakah berupa suratperintah terima barang (SPTB) atau surat perintah penyerahan barang (SPPB)
yang nantinya diterima oleh pihak gudang 1.
3. Basic Flow
Divre mengeluarkan DO berupa SPTB atau SPPB ke gudang 1.
Spesifikasi use case
Spesifikasi use case
Spesifikasi use case
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 31/38
1. Nama Use Case
Laporn realisasi DO dari gudang 1
2. Deskripsi Singkat
Use case ini akan menghasilkan laporan transaksi ke Divre berdasarkan DO
yang diterima oleh pihak gudang 1 baik berupa DO penerimaan barang (SPTB)
atau DO pengeluaran barang (SPPB).
3. Basic Flow
Pihak gudang 1 memberikan laporan data transaksi yang terjadi di gudang ke
Divre
Spesifikasi use case
1. Nama Use Case
DO ke gudang 2
2. Deskripsi Singkat
Use case ini akan menghasilkan Delivery order (DO) apakah berupa surat
perintah terima barang (SPTB) atau surat perintah penyerahan barang (SPPB)
yang nantinya diterima oleh pihak gudang 2.
3. Basic Flow
Divre mengeluarkan DO berupa SPTB atau SPPB ke gudang 2.
Spesifikasi use case
1. Nama Use Case
Laporn realisasi DO dari gudang 2
2. Deskripsi Singkat
Use case ini akan menghasilkan laporan transaksi ke Divre berdasarkan DO
yang diterima oleh pihak gudang 2 baik berupa DO penerimaan barang (SPTB)
atau DO pengeluaran barang (SPPB).
3. Basic Flow
Spesifikasi use case
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 32/38
Pihak gudang 2 memberikan laporan data transaksi yang terjadi di gudang ke
Divre
Spesifikasi use case
1. Nama Use Case
DO ke gudang n
2. Deskripsi Singkat
Use case ini akan menghasilkan Delivery order (DO) apakah berupa surat
perintah terima barang (SPTB) atau surat perintah penyerahan barang (SPPB)
yang nantinya diterima oleh pihak gudang n.
3. Basic Flow
Divre mengeluarkan DO berupa SPTB atau SPPB ke gudang n.
Spesifikasi use case
1. Nama Use Case
Laporn realisasi DO dari gudang n
2. Deskripsi Singkat
Use case ini akan menghasilkan laporan transaksi ke Divre berdasarkan DO
yang diterima oleh pihak gudang n baik berupa DO penerimaan barang (SPTB)
atau DO pengeluaran barang (SPPB).
3. Basic Flow
Pihak gudang n memberikan laporan data transaksi yang terjadi di gudang ke
Divre
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 33/38
Deployment Diagram
Deployment Diagram menggambarkan susunan fisik suatu sistem yang
tersusun oleh beberapa perangkat lunak dan perangkat keras. Adapun Deployment
diagram dari Warehouse Management System online pada Sub Divre Wilayah V
Bulukumba adalah sebagai berikut :
TCP/IP,http TCP/IP,
http
TCP/IP,http TCP/IP,
http TCP/IP , http
TCP/IP,http
TCP/IP, http
TCP/IP,http
TCP/IP, http
TCP/IP,http
TCP/IP,http
TCP/IP , http TCP/IP , httpTCP/IP , http
TCP/IP , http
TCP/IP, http
Divre Server
LAN
WHMS
- Php- HTML
Mysql DBMS
Server Aplikasi
TCP/IP
Server Gudang 1
LAN
Server Gudang 2
LAN
Server Gudang n
LANClient
- Web Browser
Client
- Web Browser
Client
- Web Browser
Client
- Web Browser
Client
- Web Browser
Client
- Web Browser
Client
- Web Browser
Client
- Web Browser
Gambar Deployment Diagram
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 34/38
Activity Diagram
1. Activity Diagram Pengadaan dan Giling Gabah
Gambar Activity Diagram Pengadaan dan Giling Gabah
Mitra Divre Gudang
PengajuanKontrak kerja
Persetujuankontrak
Laporan transaksiPemasukan/pengeluaran
KontrakPengadaan
KontrakGiling
SPPB/ SPTB
SPTB
RealisasiSPTB
RealisasiSPPB/SPTB
Slip penariakanuang di Bank
Penariakan uangdi Bank
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 35/38
Activity Diagram Penyaluran Raskin
Gambar Activity Diagram proses penyaluran raskin
Pemda Divre Gudang
PenyampaiyanSPA
Penerbitan SPPBberdasarkan SPA
Laporan transaksiPengeluaran beras raskin
SPPB
RealisasiSPPB
BA penyaluranraskin
PenandatangananBA Raskin
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 36/38
Sequence Diagram
Gambar Sequence Diagram proses entri data kontrak
Sequence diagram di atas menggambarkan proses pengimputan entri data
kontrak yang dilakukan oleh pihak Divre setelah sebelumnya terjadi kesepakatanm
kontrak dengan mitra kerja. Hasil pengimputan tersebut kemudian ditampilkan.
Hasil Query data kontrak
Query data kontrak
Tampilkan data kontreak
Pesan error
Validasi data
insert database
Input data kontrak
Divre PHP DBMS
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 37/38
Gambar Sequence Diagram proses entri data SPTB/SPPB
Sequence diagram di atas menggambarkan proses pengimputan entri data
SPTB/SPPB berdasarkan nomor kontrak yang ada.
Hasil query data SPPB/SPTB
Query data SPTB/SPPB
Hasil Query data kontrak
Query data kontrak
Inser data SPTB/SPPBPesan error
Input data SPTB/SPPB
Tampilkan data kontrak
Tampilkan data SPTB/SPPB
Pilih nomor kontrak
Divre PHP DBMS
5/11/2018 UML & Kasusnya - slidepdf.com
http://slidepdf.com/reader/full/uml-kasusnya 38/38
Gambar Sequence Diagram proses entri data realisasi SPTB/SPPB
Sequence diagram di atas menggambarkan proses transaksi/realisasi DO baik
berupa SPTB maupun SPPB yang terjadi di gudang-gudang.
query data realisasiSPPB/SPTB
Update stock
Hasil Query nomor SPTB/SPPB
Query nomor SPTB/SPPB
Inser data realisasi SPTB/SPPB Pesan error
Input realisasi SPTB/SPPB
Tampilkan data SPTB/SPPB
Tampilkan data realisasi SPTB/SPPB
Pilih nomor SPTB/SPPB
Gudang PHP DBMS
Hasil query data SPPB/SPTB
top related