Вы находитесь на странице: 1из 23

Materi sumatif pemodelan perangkat lunak kelas XI RPL

Perancangan Antarmuka Pengguna


Tujuan dari Perancangan Antarmuka Pengguna adalah merancang interface yang efektif
untuk sistem perangkat lunak. Efektif artinya siap digunakan, dan hasilnya sesuai dg
kebutuhan. Kebutuhan disini adalah kebutuhan penggunanya. Pengguna sering menilai
sistem dari interface, bukan dari fungsinya melainkan dari user interfacenya. Jika desain user
interfacenya yang buruk, maka itu sering jadi alasan untuk tidak menggunakan software.
Selain itu interface yang buruk sebabkan pengguna membuat kesalahan fatal. Saat ini
interface yang banyak digunakan dalam software adalah GUI (Graphical User Interface).
GUI memberikan keuntungan seperti:
1. Gampang dipelajari oleh pengguna yang pengalaman dalam menggunakan komputer
cukup minim.
2. Berpindah dari satu layar ke layar yang lain tanpa kehilangan informasi dimungkinkan.
3. Akses penuh pada layar dengan segera untuk beberapa macam tugas/keperluan.
Beberapa karakteristik dari GUI dan penjelasannya dapat dilihat pada Tabel dibawah.

Gambar dibawah menggambarkan proses yang dilakukan dalam melakukan desain user
interface. Prosse perulangan yang terjadi menjelaskan bahwa proses-proses tersebut
dilakukan hingga menghasilkan desain yang diinginkan oleh pengguna. Desain harus bersifat
user-centered, artinya pengguna sangat terlibat dalam
proses desain. Karena itu ada proses evaluasi yang dilakukan oleh pengguna terhadap hasil
desain.

Prinsip prinsip dalam merancang user interface


Berikut ini prinsip-prinsip UID:
1. User familiarity / Mudah dikenali : gunakan istilah, konsep dan kebiasaan
user bukan computer (misal: sistem perkantoran gunakan istilah letters, documents,
folders bukandirectories, file, identifiers. -- jenis document open office.

2. Consistency / selalu begitu : Konsisten dalam operasi dan istilah di seluruh sistem
sehingga tidak membingungkan. -- layout menu di open office mirip dgn layout menu
di MS office.
3. Minimal surprise / Tidak buat kaget user : Operasi bisa diduga
prosesnya berdasarkan perintah yang disediakan.
4. Recoverability/pemulihan : Recoverability ada dua macam: Confirmation
of destructive action (konfirmasi terhadap aksi yang merusak) dan
ketersediaan fasilitas pembatalan (undo).
5. User guidance / bantuan : Sistem manual online, menu help, caption pada
icon khusus tersedia.
6. User diversity /keberagaman : Fasilitas interaksi untuk tipe user yang
berbeda disediakan. Misalnya ukuran huruf bisa diperbesar.
User Interaction (Interaksi pengguna)
Perancang sistem menghadapi dua masalah penting yaitu bagaimana informasi dari user bisa
disediakan untuk sistem komputer misalnya pada saat input data dan bagaimana informasi
dari sistem komputer ditampilkan untuk user hasil dari pemrosesan data. User interface
yang baik harus menyatukan interaksi pengguna (user interaction) dan penyajian informasi
(information
presentation).
Ada 5 tipe utama interaksi untuk user interaction:
1. Direct manipulation
Pengoperasian secara langsung: interaksi langsung dengan objek pada layar. Misalnya delete
file dengan memasukkannya ke trash. Contoh: Video games.
Kelebihan: Waktu pembelajaran user sangat singkat, feedback langsung diberikan pada
tiap aksi sehingga kesalahan terdeteksi dan diperbaiki dengan cepat.
Kekurangan : Interface tipe ini rumit dan memerlukan banyak fasilitas pada sistem
komputer, cocok untuk penggambaran secara visual untuk satu operasi atau objek
2. Menu selection
Pilihan berbentuk menu: Memilih perintah dari daftar yang disediakan. Misalnyasaat click
kanan dan memilih aksi yang dikehendaki.
Kelebihan : User tidak perlu ingat nama perintah. Pengetikan minimal. Kesalahan rendah.
Kekurangan :Tidak ada logika AND atau OR. Perlu ada struktur menu jika banyak
pilihan. Menu dianggap lambat oleh expert user dibanding command language.
3. Form fill-in
Pengisian form : Mengisi area-area pada form. Contoh: Stock control.
Kelebihan : Masukan data yang sederhana. Mudah dipelajari
Kekurangan : Memerlukan banyak tempat di layar. Harus menyesuaikan dengan form
manual dan kebiasaan user.
4. Command language
Perintah tertulis: Menuliskan perintah yang sudah ditentukan pada program. Contoh:
operating system.

Kelebihan : Perintah diketikan langsung pada system. Misal UNIX, DOS command. Bisa
diterapkan pada terminal yang murah.Kombinasi perintah bisa dilakukan. Misal copy file
dan rename nama file.
Kekurangan : Perintah harus dipelajari dan diingat cara penggunaannya tidak cocok
untuk user biasa.Kesalahan pakai perintah sering terjadi. Perlu ada sistem pemulihan
kesalahan.Kemampuan mengetik perlu.

5. Natural language
Perintah dengan bahasa alami: Gunakan bahasa alami untuk mendapatkan hasil. Contoh:
search engine di Internet.
Kelebihan: Perintah dalam bentuk bahasa alami, dengan kosa kata yang terbatas (singkat)
misalnya kata kunci yang kita tentukan untuk dicari oleh search engine. Ada kebebasan
menggunakan kata-kata.
Kekurangan: Tidak semua sistem cocok gunakan ini. Jika digunakan maka akan
memerlukan banyak pengetikan.
Penyajian Informasi (Information Presentation)
Sistem yang interaktif pasti menyediakan cara untuk menyajikan informasi untuk pengguna.
Penyajian informasi bisa berupa penyajian langsung dari input yang diberikan (seperti teks
pada word processing) atau disajikan dengan grafik. Beberapa faktor berikut adalah hal yang
perlu diperhatikan sebelum menentukan
bentuk penyajian informasi:

Apakah pengguna perlu informasi dengan ketepatan tinggi atau data yang saling
berhubungan?
Seberapa cepat nilai informasi berubah? Harus ada indikasi perubahan seketika?
Apakah pengguna harus memberi respon pada perubahan?
Apakah pengguna perlu melakukan perubahan pada informasi yang disajikan?
Apakah informasi berupa teks atau numerik? Nilai relatif perlu atau tidak?
Informasi bisa bersifat statis atau dinamis ketika disajikan, masing-masing baik dengan
karakteristik yang berbeda dan kebutuhan yang berbeda pula:
1. Static information:

Ditentukan saat awal sesi. Tidak berubah selama sesi berjalan.


Bisa berupa informasi numeris atau teks Chart di MS-Excel
Disajikan dengan jenis huruf khusus yang mudah dibaca atau diberi highlight dengan
warna tertentu seperti pada Gambar 4 atau menggunakan icon yang mewakili
2. Dynamic information:

Perubahan
terjadi
selama
sesi
berlangsung
dan
perubahan
harus dikomunikasikan/ditunjukkan ke user
Bisa berupa informasi numeris atau teks. Contoh : Defragmentation, scanning virus,
download
Informasi dalam bentuk teks bersifat tepat dan berubah secara lambat sedangkan informasi
dengan gambar/grafik mampu menjelaskan hubungan antar gambar, data bisa berubah
dengan cepat. Seperti pada Gambar dibawah, informasi yang sama disajikan dengan dua cara
yang berbeda. Jika yang dibutuhkan adalah hubungan antar data pada bulan-bulan tersebut,
maka informasi dengan grafik memberikan informasi tentang hubungan tersebut lebih cepat
dari pada informasi yang disajikan dengan teks dan numerik. Informasi dengan numerik
dapat juga disajikan dengan cara digital atau analog dengan karakteristik sebagai berikut:
1. Digital presentation

Singkat hanya perlu sedikit tempat pada layar


Ketepatan nilai ditunjukkan
2. Analogue presentation

Nilai terlihat sambil lalu


Untuk menunjukkan nilai relatif
Mudah melihat data nilai yang berbeda

Nilai-nilai relatif misalnya seperti pada Gambar berikutnya. Selain nilai yang
disajikan relatif, informasinya bersifat dinamis, karena berubah saat sesi berjalan. Untuk nilai
digital kita biasanya gunakan untuk menunjukkan jam pada jam sistem di komputer. Selain
ketepatan diperlukan, perubahannya tidak terjadi secara cepat.

Penggunaan Warna pada desain Interface


Warna menambah dimensi ekstra pada suatu interface dan membantu user memahami
struktur yang kompleks.
Bisa dipakai untuk mewarnai-terang (higlight) hal-hal khusus.
Kesalahan umum dalam penggunaan warna pada desain UI:
Menggunakan warna untuk mengkomunikasikan arti-- merah bisa jadi peringatan
atau ada kesalahan.
Terlalu banyak gunakan macam warna.
Dalam menggunakan warna pada desain interface ada beberapa petunjuk yang dapat diikuti
seperti berikut ini:
1. Hindari penggunaan terlalu banyak warna.
2. Gunakan kode warna untuk mendukung operasi.
3. Pengguna bisa kendalikan warna untuk kode.
4. Desain monochrome kemudian tambahkan warna.
5. Gunakan warna kode secara konsisten.
6. Hindari pasangan warna yang tidak cocok/norak.
7. Gunakan warna untuk menunjukkan perubahan status.
User Support
User guidance meliputi semua fasilitas sistem untuk mendukung user termasuk on-line help,
error messages, user manual. User guidance perlu disatukan dengan UI untuk bantu user saat
membutuhkan informasi tentang sistem atau saat ada kesalahan. Help System dan sistem
message (pesan kesalahan) adalah bentuk dari user guidance. Error Messages sangat penting,
karena error message yang buruk cenderung ditolak oleh user dan error message sebaiknya
berpedoman pada faktor-faktor pada Tabel dibawah.

Pesan kesalahan pada Gambardibawah, ada dua macam: berorientasi pada sistem
dan berorientasi pada pengguna. Pada pesan yang berorientasi pada sistem, pesan membuat
pengguna merasa tidak berdaya karena tidak ada jalan keluar yang jelas, bahasa yang
digunakan adalah bahasa teknis yang tidak berarti apa-apa. Pada pesan yang berorientasi
pada pengguna, pesan lebih jelas dan memberikan alternatif jalan keluar. Sekalipun informasi
yang diberikan lebih banyak dan terkesan penuh, tapi pengguna merasa tertolong.
Arsitektur perangkat lunak
Pengertian Software Architecture
Adalah proses yg mendefinisikan solusi yg terstruktur yang memenuhi kebutuhan teknis dan
operasional, disisi lain mengoptimasi quality dari sebuah aplikasi yg meliputi: performance,
security, dan manageability.
Mendengar kata aplikasi ada beberapa hal yg perlu dipertimbangkan:
Bagaimana user menggunakan aplikasi tersebut?
Bagaimana aplikasi dideploy di production dan me-manage nya?
Bagaimana dengan atribut kualitas nya spt : performance, concurrency dan konfigurasi
nya?
Bagaimana aplikasi didisain supaya memiliki fleksibilitas dan easy-to-maintain?
Apakah sistem bisa in-line dengan perkembangan teknologi yg akan datang?
Beberapa trend arsitektur software:
Desain yg fleksibel, configurable, dan berorientasi pada experience user (user
empowerment).
Penggunaan teknologi terupdate (market maturity)
Fleksibilitas dalam desain sehingga aplikasi tsb reuse dan mempermudah maintenance
nya (flexible design). Teknik SOA bisa dipergunakan untuk berhubungan
(interoperability) dengan aplikasi lain.
Mendesain aplikasi dengan memperhatikan trend masa depan (future trend)

Key Design Principle


Separation of concern :memisahkan layer aplikasi dari sisi fungsionalitas nya agar fitur
aplikasi tidak overlap
Single responsibility principle :setiap komponen hanya bertanggung jawab pada 1
fungsionalitas atau gabungan fungsionalitas sejenis
Principle of least knowledge :komponen /object tidak perlu mengetahui detail dari object
lain.
Don't repeat yourself :suatu fungsionalitas seharusnya hanya ada pada 1 object dan tidak
dikomponen lain, sehingga menghindari copy-paste.
Minimize upfront design :hanya mendisain yg dibutuhkan saja

Design Practise
Menjaga pattern desain konsisten setiap layer.
Tidak melakukan duplikasi fungsionalitas dalam sebuah aplikasi
"Prefer composition to inheritance" karena inheritance menimbulkan ketergantungan yg lebih
kepada parrent class, sehingga membuat reuse dari child class terbatas.
Menerapkan style coding dan naming convention dalam development nya.
Memaintain system QA selama proses development
Memperhatikan sisi operation
Key Architecture Style
Client/Server : memisahkan aplikasi menjadi 2 dimana client membuat request ke server.
Dalam banyak kasus sebuah server adalah database dengan fungsionalitas direpresentasikan
dalam sebuah storeprocedure. Yg termasuk style ini diantaranya:Client-Queue-Client
System (komunikasi client berbasis queuing server), Peer-to-Peer application, Application
Server (server host and execute application)
Component Base Architecture: memisahkan komponen aplikasi berdasarkan
fungsionalitas yg reusable. Pertimbangan yg mendasarinya: reusable, replaceable, not context
spesific, extensible, encapsulated & independent.
Domain Driven Design: mendefinisikan object-2 bisnis ke dalam 1 domain bisnis.
Layered Architecture: memecah concern ke dalam beberapa layer aplikasi.
Pertimbangannya: abstraction, encapsulation, clearly defined functional layer, high cohesion,
reusable, loose coupling.
Message Bus: sebuah style yg menyediakan aplikasi yg bisa berinteraksi dengan
menggunakan satu atau lebih chanel komunikasi
N-Tier/3-Tier: memisahkan fungsional ke dlm aplikasi yg berlokasi di beberapa
komputer.
Object Oriented: arsitektur yg berorientasi object (memiliki karakteristik OOP)
Service Oriented Architecture (SOA): arsitektur yg menempatkan fungsionalitas aplikasi
kedalam sebuah service.
Overview of Layered Application
Umumnya penggunaan layering dalam suatu aplikasi meliputi 3 layer utama: Presentation,
Business & Data Layer.
Sedangkan untuk Services Layer ada diantara Business & Presentation Layer. Langkah -2
mendisain untuk sistem berbasis layer ini adalah:

Memilih strategi layer yg tepat / yg diperlukan


Memutuskan cara mendistribusikan layer dan komponen
Menentukan apakah akan memecah layer
Merumuskan aturan interaksi masing-masing layer
Mengidentifikasikan Crosscutting Concern (Fungsional umum) spt: logging, caching,
validation, authentication, & exception management

Mendefinisikan interface masing-2 layer

Memilih strategy deployment

Memilih protokol komunikasi

Layer Presentation
UI Component: Elemen visual untuk mendisplay informasi ke user dan menerima input.
UI Process Component: Menyediakan code yg berisi behavior & struktur aplikasi yg
penempatannya terpisah dari UI.
Layer Bisnis
Terdiri dari:
1. Application Facade : (Optional) Menyediakan interface ke komponen business logic,
diantaranya dengan menggabungkan beberapa operasi bisnis ke sebuah operation. Ini
mengurangi dependency krn external caller tidak perlu mengetahui detail komponen
bisnis dan teknik interaksinya.
2. Business Logic Component : Fokus pada retrieving, processing, transformation &
management data.
Termasuk dalam kategori ini adalah:

Business Workflow Component

Business Entity Component


Step untuk membuat business Layer adalah:

Membuat high level design nya

Design kompoenen bisnisnya

Design komponen entiti bisnis

Design workflow nya

UML

Unified Modelling Language (UML) adalah sebuah "bahasa" yg 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 kita dapat membuat model 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 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 UML syntax 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 seperti kita ketahui puluhan
metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah:
metodologi booch [1], metodologi coad [2], metodologi OOSE [3], metodologi OMT [4],
metodologi shlaer-mellor [5], metodologi wirfs-brock [6], dsb. Masa itu terkenal dengan
masa perang metodologi ( method war) dalam pendesainan berorientasi objek. Masingmasing metodologi membawa notasi sendiri-sendiri,yang mengakibatkan timbul masalah
baru apabila kita bekerjasama dengan group/perusahaan lain yang menggunakan metodologi
yang berlainan

Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga
tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk
penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft
pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan tersebut dikoordinasikan
oleh Object Management Group (OMG http://www.omg.org). Tahun 1997 UML versi 1.1

muncul, dan saat ini versi terbaru adalah versi 1.5 yang dirilis bulan Maret 2003. Booch,
Rumbaugh dan Jacobson menyusun tiga buku serial tentang UML pada tahun 1999 [7] [8]
[9]. Sejak saat itulah UML telah menjelma menjadi standar bahasa pemodelan untuk aplikasi
berorientasi objek.
Konsepsi Dasar UML
Dari berbagai penjelasan rumit yang terdapat di dokumen dan buku-buku UML. Sebenarnya
konsepsi dasar UML bisa kita rangkumkan dalam gambar dibawah.

Abstraksi konsep dasar UML yang terdiri dari structural classification , dynamic behavior,
dan
model management , bisa kita pahami dengan mudah apabila kita melihat gambar diatas dari
Diagrams. Main concepts bisa kita pandang sebagai term yang akan muncul pada saat kita
membuat diagram. Dan view adalah kategori dari diagaram tersebut. Lalu darimana kita
mulai ? Untuk menguasai UML, sebenarnya cukup dua hal yang harus kita perhatikan:
1. Menguasai pembuatan diagram UML
2. Menguasai langkah-langkah dalam analisa dan pengembangan dengan UML
Tulisan ini pada intinya akan mengupas kedua hal tersebut.
Seperti juga tercantum pada gambar diatas UML mendefinisikan diagram-diagram sebagai
berikut:
use case diagram
class diagram
statechart diagram
activity diagram
sequence diagram
collaboration diagram
component diagram

deployment diagram
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 bila kita sedang 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.
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.
Contoh use case diagram

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, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan,
asosiasi, dan lain-lain.
Class memiliki tiga area pokok :
1. Nama (dan stereotype)
2. Atribut
3. Metoda
Atribut dan metoda dapat memiliki salah satu sifat berikut :
Private, tidak dapat dipanggil dari luar class yang bersangkutan
Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang
mewarisinya
Public, dapat dipanggil oleh siapa saja
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.
Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package. Kita
juga dapat membuat diagram yang terdiri atas package
Hubungan Antar Class
1. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang
memiliki
atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah
navigability menunjukkan arah query antar class.
2. Agregasi, yaitu hubungan yang menyatakan bagian (terdiri atas..).
3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain
dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas
baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan
adalah generalisasi.
4. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class
kepada
class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence
diagram
yang akan dijelaskan kemudian.
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.
Activity Diagram
Activity diagrams 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. Activity diagram dapat
dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang
bertanggung jawab untuk aktivitas tertentu.
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 langkahlangkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output
tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubaha n apa saja
yang terjadi secara internal dan output apa yang dihasilkan. Masing-masing objek, termasuk
aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek
ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi
operasi/metoda dari class.
Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan
diterimanya sebuah message.
Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus
untuk objek boundary, controller dan persistent entity.
Collaboration Diagram
Collaboration diagram juga menggambarkan interaksi antar objek seperti sequence diagram,
tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu
penyampaian message. Setiap message memiliki sequence number, di mana message dari

level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang
sama.
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.
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 halhal lain yang bersifat fisikal Sebuah node adalah server, workstation, atau piranti keras lain
yang digunakan untuk men- deploy komponen dalam lingkungan sebenarnya. Hubungan
antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.
Langkah-Langkah Penggunaan UML
Berikut ini adalah tips pengembangan piranti lunak dengan menggunakan UML:
1. Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan
proses yang mungkin muncul.
2. Petakan use case untuk tiap business process untuk mendefinisikan dengan tepat
fungsionalitas yang harus disediakan oleh sistem. Kemudian perhalus use case diagram
dan lengkapi dengan requirement, constraints dan catatan-catatan lain.
3. Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.
4. Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga
harus disediakan oleh sistem.
5. Berdasarkan use case diagram, mulailah membuat activity diagram.
6. Definisikan objek-objek level atas ( package atau domain) dan buatlah sequence
dan/atau collaboration diagram untuk tiap alir pekerjaan. Jika sebuah use case
memiliki kemungkinan alir normal dan error, buatlah satu diagram untuk masingmasing alir.
7. Buarlah rancangan user interface model yang menyediakan antarmuka bagi pengguna
untuk menjalankan skenario use case.
8. Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap package atau
domain dipecah menjadi hirarki class lengkap dengan atribut dan metodanya. Akan
lebihbaik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan
interaksi dengan class lain.
9. Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokan class
menjadi komponen-komponen. Karena itu buatlah component diagram pada tahap ini.

Juga, definisikan tes integrasi untuk setiap komponen meyakinkan ia berinteraksi


dengan baik.
10. Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan
requirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen
ke dalam node.
11. Mulailah membangun sistem. Ada dua pendekatan yang dapat digunakan :
a. Pendekatan use case, dengan meng-assign setiap use case kepada tim pengembang
tertentu untuk mengembangkan unit code yang lengkap dengan tes.
b. Pendekatan komponen, yaitu meng- assign setiap komponen kepada tim
pengembang tertentu.
12. Lakukan uji modul dan uji integrasi serta perbaiki model berserta codenya. Model
harus selalu sesuai dengan code yang aktual.
13. Piranti lunak siap dirilis.
Use Case diagram

Diagram use case merupakan pemodelan untuk menggambarkan kelakuan (behavior)


sistem yang akan dibuat.
Diagram use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan
sistem yang akan dibuat.
Diagram use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah
sistem dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut. Yang ditekankan
pada diagram ini adalah apa yang diperbuat sistem, dan bukan bagaimana.
Sebuah use case merepresentasikan sebuah interaksi antara aktor (user atau sistem lainya)
dengan sistem.
Use case menjelaskan secara sederhana fungsi sistem dari sudut pandang user.

Penjelasan bagian bagian use case diagram


1. System
Menyatakan batasan sistem dalam relasi dengan actor-actor yang menggunakannya (di luar
sistem) dan fitur-fitur yang harus disediakan (dalam sistem). Digambarkan dengan segi
empat yang membatasi semua use case dalam sistem terhadap pihak mana sistem akan

berinteraksi. Sistem disertai label yang menyebutkan nama dari sistem, tapi umumnya tidak
digambarkan karena tidak terlalu memberi arti tambahan pada diagram.
2. Actor
Aktor adalah segala hal diluar sistem yang akan menggunakan sistem tersebut
untuk melakukan sesuatu. Bisa merupakan manusia, sistem, atau device yang memiliki
peranan dalam keberhasilan operasi dari sistem. Cara mudah untuk menemukan aktor adalah
dengan bertanya hal-hal berikut: SIAPA yang akan menggunakan sistem? APAKAH sistem
tersebut akan memberikan NILAI bagi aktor?
3. Use case
Mengidentifikasi fitur kunci dari sistem. Tanpa fitur ini, sistem tidak akan memenuhi
permintaan user/actor. Setiap use case mengekspresikan goal dari sistem yang harus dicapai.
Diberi nama sesuai dengan goal-nya dan digambarkan dengan elips dengan nama di
dalamnya. Fokus tetap pada goal bukan bagaimana mengimplementasikannya walaupun use
case berimplikasi pada prosesnya nanti. Setiap use case biasanya memiliki trigger/pemicu
yang menyebabkan use case memulai (misalnya,Pasien mendaftar dan membuat janji baru
atau meminta untuk membatalkan atau mengubah janji yang sudah ada ).ada 2 triger pertama
triger eksternal, seperti pelanggan memesan atau alarm kebakaran berbunyi, kedua triger
temporal, seperti tanggal pengembalian buku terlewati di perpustakaan atau keterlambatan
bayar sewa.
4. Assosiation
Mengidentifikasikan interaksi antara setiap actor tertentu dengan setiap use case tertentu.
Digambarkan sebagai garis antara actor terhadap use case yang bersangkutan. Asosiasi bisa
berarah (garis dengan anak panah) jika komunikasi satu arah, namun umumnya terjadi kedua
arah (tanpa anak panah) karena selalu diperlukan demikian.
5 Dependency
Dependensi <<include>>
Mengidentifikasi hubungan antar dua use case di mana yang satu memanggil yang lain.
Jika pada beberapa use case terdapat bagian yang memiliki aktivitas yang sama maka
bagian aktivitas tersebut biasanya dijadikan use case tersendiri dengan relasi dependensi
setiap use case semula ke use case yang baru ini sehingga memudahkan pemeliharaan.
Digambarkan dengan garis putus-putus bermata panah dengan notasi <<include>> pada
garis.
Arah mata panah sesuai dengan arah pemanggilan.
Dependensi <<extend>>
Jika pemanggilan memerlukan adanya kondisi tertentu maka berlaku dependensi
<<extend>>.
Note: konsep extend ini berbeda dengan extend dalam Java!
Digambarkan serupa dengan dependensi <<include>> kecuali arah panah berlawanan.
6. Generalization

Mendefinisikan relasi antara dua actor atau dua use case yang mana salah satunya menginherit dan menambahkan atau override sifat dari yang lainnya. Penggambaran menggunakan
garis bermata panah kosong dari yang meng-inherit mengarah ke yang di-inherit.
Menyusun Diagram Use case
Langkah-langkah yang dibutuhkan untuk menyusun diagram use case adalah:
Mengidentifikasi pelaku bisnis
Mengidentifikasi use case persyaratan bisnis
Membuat diagram model use case
Mendokumentasikan naratif use case persyaratan bisnis
Practical guidance dalam membangun diagram use case:
Set konteks dari target sistem.
Identifikasi semua actor.
Identifikasi semua use case.
Definisikan asosiasi antara setiap actor dan setiap use case.
Evaluasi setiap actor dan setiap use case untuk mendapatkan kemungkinan perbaikan.
Evaluasi setiap use case untuk dependensi <<include>>.
Evaluasi setiap use case untuk dependensi <<extend>>.
Evaluasi setiap actor dan setiap use case untuk generalisasi.
Use case Description
Setiap use case harus dijelaskan alur prosesnya melalui sebuah deskripsi use case (use case
description) atau scenario use case.
Deskripsi use case berisi:
Nama use case yaitu penamaan use case yang menggunakan kata kerja
Deskripsi yaitu penjelasan mengenai tujuan use case dan nilai yang akan didapatkan
oleh aktor
Kondisi sebelum (pre-condition) yaitu kondisi-kondisi yang perlu ada sebelum use case
dilakukan.
Kondisi sesudah (post-condition) yaitu kondisi-kondisi yang sudah dipenuhi ketika uses
case sudah dilaksanakan
Alur dasar (basic flow) yaitu alur yang menceritakan jika semua aksi yang dilakukan
adalah benar atau proses yang harusnya terjadi
Alur alternatif (alternatif flow) yaitu alur yang menceritakan aksi alternatif, yang
berbeda dari alur dasar.
Mana yg lebih dahulu dibuat use case description atau use case diagram ? sebaiknya use case
description lebih dahulu. tapi kalau anda ingin membuat use case digram lebih dahulu juga
tdk apa-apa. Yang penting kedua duanya anda buat untuk menggambarkan/menjelaskan
kebutuhan sistem.
contoh diagram use case

Diagram use case ATM

Activity Diagram
Activity diagram memiliki pengertian yaitu lebih fokus kepada menggambarkan proses bisnis
dan urutan aktivitas dalam sebuah proses. Dipakai pada business modeling untuk
memperlihatkan urutan aktifitas proses bisnis. Memiliki struktur diagram yang mirip
flowchart atau data flow diagram pada perancangan terstruktur. Memiliki pula manfaat yaitu
apabila kita membuat diagram ini terlebih dahulu dalam memodelkan sebuah proses untuk
membantu memahami proses secara keseluruhan. Dan activity dibuat berdasarkan sebuah atau
beberapa activity pada activity diagram.

Terdapat beberapa hal penting yang harus diketahui, yaitu ;


Activity mengambarkan sebuah pekerjaan atau tugas dalam workflow
Pada UML, activity digambarkan dengan simbol kotak

Start state dengan tegas menunjukan dimulainya suatu workflow pada sebuah activity
diagram

Hanya ada satu start state dalam sebuah workflow

Pada UML, start state digambarkan dengan simbol lingkaran yang solid

End state menggambarkan akhir atau terminal dari pada sebuah activity diagram
Bisa terdapat lebih dari satu end state pada sebuah activity diagram
Pada UML, end state digambarkan dengan simbol sebuah bull's eye

State transition menunjukan kegiatan apa berikutnya setelah suatu kegiatan sebelumnya
Pada UML, state transition digambarkan oleh sebuah solid line dengan panah

Decision adalah suatu titik atau point pada activity diagram yang mengindikasikan suatu
kondisi dimana ada kemungkinan perbedaan transisi

Pada UML, decision digambarkan dengan sebuah simbol diamond

Swimlanes

Obyek swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas
tertentu.

Mulailah dengan node awal untuk titik awal.


Tambahkan partisi jika relevan untuk analisis yang dibuat.
Tambahkan aksi untuk setiap langkah utama dari activity.
Tambahkan alur dari setiap aksi ke aksi lain, keputusan atau node akhir. Setiap aksi hanya
mendapat satu alur masuk dan satu alur keluar menuju ke forks, joins, decisions, dan merges.

Tambahkan decisions jika alur dipecah menjadi beberapa pilihan. Jangan lupa untuk
menggabungkan kembali dengan merge.

Tambahkan forks dan joins jika aktivitas akan dilakukan secara paralel.
Contoh Activity Diagram
Studi kasus : Penarikan Uang dari Account Bank Melalui ATM

Hubungan antar class


Class diagram adalah diagam yang digunakan untuk menampilkan beberapa kelas serta paketpaket yang ada dalam sistem/perangkat lunak yang sedang kita gunakan.
Class diagram memberi kita gambaran (diagram statis) tentang sistem/perangkat lunak dan relasrelasi yang ada didalamnya.
Definisi Class Diagram
Class adalah kumpulan objek-objek dengan dan yang mempunyai struktur umum, behavior
umum, relasi umum, dan semantic/kata yang umum. Class-class ditentukan/ditemukan dengan

cara memeriksa objek-objek dalam sequence diagram dan collaboration diagram. Sebuah class
digambarkan seperti sebuah bujur sangkar dengan tiga bagian ruangan. Class sebaiknya diberi
nama menggunakan kata benda sesuai dengan domain/bagian/kelompoknya (Whitten L. Jeffery
et al, 2004).
Class Diagram adalah diagram yang menunjukan class-class yang ada dari sebuah sistem dan
hubungannya secara logika. Class diagram menggambarkan struktur statis dari sebuah sistem.
Karena itu class diagram merupakan tulang punggung atau kekuatan dasar dari hampir setiap
metode berorientasi objek termasuk UML (Henderi, 2008). Sementara menurut (Whitten L.
Jeffery et al 2004:432) class diagram adalah gambar grafis mengenai struktur objek statis dari
suatu sistem, menunjukan class-class objek yang menyusun sebuah sistem dan juga hubungan
antara class objek tersebut.
Elemen-eleman class diagram dalam pemodelan UML terdiri dari: Class-class, struktur class,
sifat class (class behavior), perkumpulan/gabungan (association), pengumpulan/kesatuan
(agregation), ketergantungan (dependency), relasi-relasi turunannya, keberagaman dan indikator
navigasi, dan role name (peranan/tugas nama).
Simbol-simbol class diagram
1. Class: Class adalah blok - blok pembangun pada pemrograman berorientasi obyek.Sebuah
class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian
nama dari class. Bagian tengah mendefinisikan property/atribut class. Bagian akhir
mendefinisikan methodmethod dari sebuah clas.

2. Association : Sebuah asosiasi merupakan sebuah relationship paling umum antara 2 class dan
dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. Garis ini bisa
melambangkan tipe-tipe relationship dan juga dapat menampilkan hukum-hukum multiplisitas
pada sebuah relationship.(Contoh: One-to-one, one-to-many,many-to-many).

3. Composition: Jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian dari
class yang lain, maka class tersebut memiliki relasi Composition terhadap class tempat dia
bergantung tersebut. Sebuah relationship composition digambarkan sebagai garis dengan ujung
berbentuk jajaran genjang berisi/solid.

4. Dependency : Kadangkala sebuah class menggunakan class yang lain. Hal ini disebut
dependency. Umumnya penggunaan dependency digunakan untuk menunjukkan operasi pada
suatu class yang menggunakan class yang lain. Sebuah dependency dilambangkan sebagai
sebuah panah bertitik-titik.

5. Aggregation : Aggregation mengindikasikan keseluruhan bagian relationship dan biasanya


disebut sebagai relasi.

Keterangan:
Class / table departemen memiliki ber-Agregasi dengan class / table pegawai,alasannya karena
departemen dapat berdiri sendiri tanpa ada pegawai tetapi kinerjanya tidak sempurna. Banyak
pegawai dapat bekerja pada satu departemen jadi many to 1.
Class/table transaksi tidak dapat berdiri sendiri tanpa adanya class/table produk. Begitu juga
dengan table produk tidak bisa berdiri sendiri tanpa adanya departemen.
Banyak pelanggan dapat melakukan banyak tansaksi
1 transaksi dapat mencakup banyak produk

Form No: WKS1-R-03

Rev.01,Tgl.27.10.14

Diagram use case toko online

Вам также может понравиться