UML & Kasusnya

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.

Transcript of UML & Kasusnya

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