dyah013@kominfo.go.id
7
Software Berkualitas?
• Komputer Datang untuk Efisiensi!
Sesuai Kebutuhan
Ada Keuntungan
Software Sistem Kita Berkualitas?
Software Development Evolution
• How to Write a Code
(Coder or Programmer)
• How to Develop a Software
(Software Engineer)
• How to Manage Software
(Enterprise Architect)
Software Berkembang, Semakin Banyak dan
Tumbuh Besar!
Bagaimana cara
mengelola semua software?
Actors
Instructions
Bridge
Five-Component Framework
Integration and
system testing
Operation and
maintenance
V Model
Tahapan Verifikasi Tahapan Validasi
• Faktor eksternal:
1. Technology Information Internal External
technology Customers
2. Supplier department
3. Customer
Existing
4. Competitor systems and Competitors
5. Economy data
The
6. Government Government
economy
2.2 Tantangan Pengembangan
Sistem Informasi
Tantangan Pengembangan SI
• Ubiquitous computing
Software harus dapat berjalan pada mesin apa saja
• Netsourcing
Aplikasi yang sederhana dan canggih
• Open source
Mendistribusikan kode program sehingga dapat dimodifikasi oleh konsumen
• New economy
Memfasilitasi komunikasi massa dan sistribusi produk secara massal
Penyebab Kegagalan Pengembangan SI
• Perencanaan yang tidak realistis, terlalu banyak kasus
• Penelusuran yang tidak efektif
• Terlalu terpaku pada kebutuhan sementara
• Tidak memperhitungkan resiko
2.3 Proyek Pengembangan Sistem
Informasi
SI yang baik memiliki atribut sbb:
a. Maintainability
Dapat berevolusi memenuhi perubahan kebutuhan.
b. Dependability
Dapat dipercaya / diandalkan
c. Efficiency
Dapat dioperasikan dengan menggunakan sumber daya system
secara efisien
d. Acceptability
Dapat diterima oleh user (mudah dipahami, compatible dengan
sistem lain)
Tim Pengembangan Sistem Informasi
Organisasi tim
1. Project manager
2. Software engineer
• Analyst
• Designer
• Programmer
3. System configuration management
4. System administrator
5. Software quality
• Software test engineer
• Software quality assurance
Tanggung Jawab Profesional
• Confidentiality
Kerahasiaan data klien
• Competence
Tidak mengerjakan sesuatu di luar kompetensinya
• Intelectual property rights
Memperhatikan HAKI (patent, copyrights, dll)
• Computer misuse
Tidak menyalahgunakan keahliannya dengan menggunakan computer klien di
luar pekerjaannya, seperti bermain game atau menyebarkan virus.
Pengumpulan Data dan Informasi
3.1 Konsep Dasar Informasi
3.2 Karakteristik Kualitas Informasi
3.3 Kategori Informasi
3.4 Teknik Pengumpulan Informasi
3.1 Konsep Dasar Informasi
Sistem Informasi: mengolah data menjadi informasi
a. Data: kumpulan fakta
b. Informasi: kumpulan fakta yang telah disusun, memiliki nilai tambah
c. Pengetahuan: pemahaman atas sekumpulan informasi untuk
mendukung keputusan
3.2 Karakteristik Kualitas
Informasi
Accessible Accurate Complete Flexible
Timely Verifiable
3.3 Kategori Informasi
Bentuk Informasi untuk Pengguna
Investigasi Observasi
Sistem Analisis dan Desain dengan UML
4.1 Pengertian UML
4.2 Use Case Diagram
4.3 Activity Diagram
4.4 Class Diagram
4.5 Sequence Diagram
4.6 Bring It All Together
4.1 Pengertian UML
Pengertian
• UML: bahasa pemodelan standar
• UML memiliki sintaks dan semantik, dalam arti ada aturan-aturan
yang harus diikuti. Bagaimana elemen-elemen yang kita buat
berhubungan satu dengan lainnya harus mengikuti standar yang ada.
• UML bukan hanya sekedar diagram, tetapi juga menceritakan
konteksnya
Pengaplikasian UML
• Merancang perangkat lunak
• Sarana komunikasi antara perangkat lunak dengan proses bisnis
• Menjabarkan sistem secara rinci untuk analisa dan mencari apa yang
diperlukan sistem.
• Mendokumentasi sistem yang ada, proses-proses yang ada dan
dokumentasinya.
Diagram-diagram UML
• Diagram use case (use case diagram)
• Diagram kelas (class diagram)
• Diagram paket (package diagram)
• Diagram komponen (component diagram)
• Diagram deployment (deployment diagram)
• Diagram statechart (statechart diagram)
• Diagram aktivitas (activity diagram)
• Diagram interaksi dan sequence (interaction and sequence diagram)
• Diagram komunikasi (communication diagram)
4.2 Use Case Diagram
Use Case Diagram
• Menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang
ditekankan adalah “apa” yang diperbuat sistem.
• Menggambarkan kebutuhan sistem dari sudut pandang user.
• Mengfokuskan pada proses komputerisasi (automated processes).
• Menggambarkan hubungan antara use case dan actor.
• Use case menggambarkan proses sistem (kebutuhan sistem dari sudut pandang
user)
• Secara umum use case adalah:
• Pola perilaku sistem
• Urutan transaksi yang berhubungan yang dilakukan oleh satu actor
• Use case diagram terdiri dari
• Use case
• Actors
• Relationship
• System boundary boxes (optional)
• Packages (optional)
USE CASE
• Use case dibuat berdasar keperluan actor, merupakan “apa” yang dikerjakan
system, bukan “bagaimana” system mengerjakannya
• Use case diberi nama yang menyatakan apa hal yang dicapai dari hasil
interaksinya dengan actor.
• Use case dinotasikan dengan gambar (horizontal ellipse)
• Use case biasanya menggunakan kata kerja
• Nama use case boleh terdiri dari beberapa kata dan tidak boleh ada 2 use case
yang memiliki nama yang sama
ACTOR
• Ujung panah pada association antara actor dan use case mengindikasikan
siapa/apa yang meminta interaksi dan bukannya mengindikasikan aliran data
• Sebaiknya gunakan Garis tanpa panah untuk association antara actor dan use
case
• association antara actor dan use case yang menggunakan panah terbuka untuk
mengindikasikan bila actor berinteraksi secara pasif dengan sistem
Association antara use case
Nasabah
Maintain curriculum
Association antara use case (Lanjut)
<<extend>> perluasan dari use case lain jika kondisi atau syarat terpenuhi
• Kurangi penggunaan association Extend ini, terlalu banyak pemakaian
association ini membuat diagram sulit dipahami.
• Tanda panah terbuka harus terarah ke parent/base use case
• Gambarkan association extend secara vertical
Buka
Rekening
<<extend>>
Nasabah
Buka
Deposito
Generalization/inheritance antara use case
• Generalization/inheritance digambarkan dengan sebuah garis berpanah tertutup pada salah satu
ujungnya yang menunjukkan lebih umum
• Gambarkan generalization/inheritance antara use case secara vertical dengan inheriting use case
dibawah base/parent use case
• Generalization/inheritance dipakai ketika ada sebuah keadaan yang lain sendiri/perlakuan khusus
(single condition)
Buka
Rekening
Nasabah Buka
Deposito
Generalization/inheritance antara actor
• Digambarkan dengan kotak disekitar use case, untuk menggambarkan jangkauan system anda
(scope of of your system).
• Biasanya digunakan apabila memberikan beberapa alternative system yang dapat dijadikan
pilihan
• System boundary boxes dalam penggunaannya optional
Usecase berdasarkan sistem usulan atau berdasar program
Contoh Kasus Penggajian
TU
>
Administrasi
e>
udl
Inc
<<
Input Data Absen Harian
TU Administrasi
>>
ude
l
Inc
<<
Input Data Pegawai,
Pendidikan, Keluarga
Administrasi Pegawai
>
e>
lud
Inc
<<
Input Total Absensi Pegawai
End Point
Activities
Fork (Percabangan)
Join (Penggabungan)
Decision
Activity
Start State
Start State
End State
• 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.
End State
State Transitions
State Transition
Decisions
• Decision adalah suatu titik/point pada activity diagram yang mengindikasikan
suatu kondisi dimana ada kemungkinan perbedaan transisi.
• Pada UML, decision digambarkan dengan sebuah simbol diamond.
Decision
Swimlanes
• Object swimlane untuk menggambarkan objek mana yang bertanggung jawab
untuk aktivitas tertentu.
CONTOH
ACTIVITY
DIAGRAM
Penarikan
Uang dari
Account Bank
Melalui ATM
Petunjuk Membuat Diagram Aktivitas
Bag
Apples Milk
Composition
• Bisa disebut juga sebagai strong agregation, dapat diartikan “..is part
of..” (“..bagian dari..”). Seperti halnya relasi agregasi, namun apabila
whole class hilang, maka mustahil part class untuk ada.
Generalization
• Dapat diartikan sebagai relasi "..is a.." Digunakan untuk
merepresentasikan pewarisan. Suatu kelas (child class) dapat
diturunkan dari kelas lain dan mewarisi semua atribut dan method
induknya (parent class) dan dapat menambah method atau atribut
baru.
Dependency
• Hubungan antar-class di mana sebuah class memiliki ketergantungan
pada class lainnya tetapi tidak sebaliknya.
• Perubahan pada salah satu elemen kelas berdampak pada kelas lain
Realization
• Hubungan antar-class di mana sebuah class memiliki keharusan untuk
mengikuti aturan yang ditetapkan class lainnya. Biasanya realization
digunakan untuk menspesifikasikan hubungan antara sebuah
interface dengan class yang mengimplementasikan interface tersebut
.
Multiplisitas Relasi
• Multiplisitas adalah jumlah banyaknya obyek sebuah class yang
berelasi dengan sebuah obyek lain pada class lain yang berasosiasi
dengan class tersebut.
Multiplisitas Keterangan
* Banyak
0 Tepat nol
1 Tepat satu
0..* Nol tau lebih
1..* Satu atau lebih
0..1 Nol atau satu
Contoh Multiplisitas Relasi
CONTOH CLASS DIAGRAM
4.5 Sequence Diagram
• Menggambarkan interaksi antar objek di dalam dan di sekitar sistem
• Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang
terjadi secara internal dan output apa yang dihasilkan.
• Sequence diagram terdiri atas:
Dimensi vertikal (waktu)
Dimensi horizontal (objek-objek yang terkait).
Pembayaran
telpon
Boundary
Case scenario Untuk penarikan uang sukses
Customer
Verify availability
Return availability
Verivy customer
Send order
4.6 Bring It All Together
Use Case
Activity
Class
Sequence