Anda di halaman 1dari 120

-MODUL PRAKTIKUM-

PEMODELAN PERANGKAT LUNAK


MYSQL, CDM, PDM, ERD, UML

Disusun Oleh
Aris Diantoro, S.Kom.

Nama Lengkap :
Kelas :

JURUSAN REKAYASA PERANGKAT LUNAK


SMK TUREN
MALANG
2018/2019
FORM PENILAIAN PRAKTIKUM

PEMODELAN PERANGKAT LUNAK


MYSQL, CDM, PDM, ERD, UML

Prakt 1 Prakt 2 Prakt 3 Prakt 4 Prakt 5 Prakt 6 Prakt 7 Ujian

Tgs Kls Tgs Kls Tgs Kls Tgs P1 P2 Kls Tgs Kls Tgs Kls P1 P2

Prakt 8 Prakt 9 Prakt 10 Prakt 11 Prakt 12 Prakt 13 Prakt 14 Ujian

Tgs Kls Tgs Kls Tgs Kls Tgs P1 P1 Kls Tgs Kls Tgs Kls P1 P2

Page 1 of 120
DAFTAR ISI

FORM PENILAIAN PRAKTIKUM ..............................................................................……. ............

DAFTAR ISI .........................................................................................................................................

MODUL 1 PENGENALAN REKAYASA PERANGKAT LUNAK......................................................

MODUL 2 METODE PENGEMBANGAN PL.......................................................................................

MODUL 3 ANALISA KEBUTUHAN....................................................................................................

MODUL 4 ANALISA JADWAL PERANCANGAN PL.......................................................................

MODUL 5 ANALISA PEMODELAN....................................................................................................

MODUL 6 UML.....................................................................................................................................

DAFTAR PUSTAKA

LAMPIRAN-LAMPIRAN

Page 2 of 120
BAB 1 PENGENALAN
REKAYASA PERANGKAT LUNAK

1. Perbedaan PL & Ilmu Komputer


Perbedaan perangkat lunak dengan ilmu komputer. Ilmu komputer seringkali
didiskripsikan sebagai suatu studi sistematis pada proses-proses algoritma yang
menjelaskan dan mentransformasikan informasi seperti halnya di sini adalah teori,
analisis, disain, efisiensi, penerapan dan aplikasinya. Sedangkan perangkat lunak
merupakan data elektronik yang disimpan sedemikian rupa oleh komputer itu sendiri,
data yang disimpan ini dapat berupa program atau instruksi yang akan dijalankan oleh
perintah, maupun catatan-catatan yang diperlukan oleh komputer untuk menjalankan
perintah yang dijalankannya. Jadi perangkat lunak itu dapat berupa program atau
prosedur. Perbedaan antara RPL dengan ilmu komputer adalah intinya, ilmu komputer
berhubungan dengan teori dan metode yang mendasari sistem komputer dan
perangkat lunak, sedangkan RPL berhubungan dengan praktek dalam
memproduksi perangkat lunak.

2. Perbedaan RPL & Rekayasa Sistem


Rekayasa system mempunyai pengertian suatu sistem yang mampu memilih alat
bantu yang baik dalam perencanaan maupun dalam penerapan perangkat lunak dan
memiliki teknik yang baik untuk menilai kualitas dari perangkat lunak yang dihasilkan,
serta mampu mengkoordinasikan, mengontrol, dan mengatur pelaksanaan pekerjaan
pembuatan perangkat lunak. Sedangkan rekayasa perangkat lunak itu adalah aplikasi
dari ilmu komputer yang membangun system perangkat lunak yang nantinya perangkat
lunak itu akan dipilih kualitas dan tekniknya oleh rekayasa sistem. Rekayasa sistem
berkaitan dengan semua aspek dalam pembangunan sistem berbasis komputer
termasuk hardware, rekayasa PL dan proses. RPL adalah bagian dari rekayasa sistem
yang meliputi pembangunan PL, infrasktruktur, kontrol, aplikasi dan database pada
sistem. Perbedaan RPL dengan Rekayasa Sistem intinya Rekayasa sistem berkaitan
dengan semua aspek dalam pembangunan sistem berbasis komputer termasuk
hardware, rekayasa PL dan proses. RPL adalah bagian dari rekayasa sistem yang
meliputi pembangunan PL, infrasktruktur, kontrol, aplikasi dan database pada
sistem.

Page 3 of 120
• Pengembangan Perangkat Lunak : Perangkat lunak yang memenuhi spesifikasi
harus di produksi

• Validasi Perangkat Lunak : Perangkat lunak harus divalidasi untuk menjamin


bahwa perangkat lunak melakukan apa yang diinginkan oleh pelanggan.

• Evolusi Perangkat Lunak : Perangkat lunak harus berkembang untuk


memenuhi kebutuhan pelanggan.

Ada empat fase utama pada proses rekayasa persyaratan:

1. Studi kelayakan. Dibuat perkiraan apakah user yang diidentifikasi puas


menggunakan perangkat lunak dan teknologi perangkat keras yang dipakai pada
saat ini. Studi ini akan memutuskan apakah sistem yang diusulkan efektif dalam
hal biaya dari sudut pandang bisnis dan apakah sistem dapat dikembangkan
dengan keterbatasan anggaran yang tersedia. Hasil dari studi kelayakan ini
adalah informasi keputusan apakah kita akan terus dengan analisis yang lebih
rinci atau tidak.

2. Elisitasi dan analisis persyaratan. Ini merupakan proses penurunan persyaratan


sistem melalui observasi sistem yang ada, diskusi dengan user yang akan
memakai dan yang mengadakan, analisis pekerjaan, dll. Proses ini bisa
melibatkan pengembangan satu atau lebih model dan prototipe sistem. Hasil fase
ini akan membantu analis memahami sistem yang akan dispesifikasi.

3. Spesifikasi persyaratan. Merupakan kegiatan menerjemahkan informasi yang


dikumpulkan pada kegiatan analisis menjadi dokumen yang mendefinisikan
serangkaian persyaratan. Dua jenis persyaratan bisa dicakup pada dokumen ini.
Persyaratan user merupakan pernyataan abstrak persyaratan sistem untuk
pelanggan dan end user sistem; persyaratan sistem merupakan deskripsi yang
lebih rinci mengenai fungsionalitas yang akan diberikan.

4. Validasi persyaratan. Kegiatan ini memeriksa apakah persyaratan dapat


direalisasikan, konsisten, dan lengkap. Pada proses ini kesalahan pada dokumen
persyaratan pada akhirnya akan ditemukan. Kesalahan ini kemudian dimodifikasi
untuk menyelesaikan masalahnya.

Page 4 of 120
SOFTWARE ENGINEERING

(REKAYASA PIRANTI LUNAK)

ada bagian ini penekanan pembahasannya adalah terhadap pertanyaan-pertanyaan berikut


:

 Pendahuluan

 Bagaimana definisi / apa itu perangkat lunak komputer ?

 Mengapa kita berusaha keras membangun system berbasis computer yang


berkualitas tinggi ?

 Bagaimana kita dapat mengkategorisasi domain aplikasi untuk perangkat lunak


computer ?

 Mitos-mitos apa yang masih ada mengenai perangkat lunak ?

 Apa itu “proses perangkat lunak” ?

 Apakah ada cara generik untuk menilai kualitas proses ?

 Model-model proses apa yang dapat diterapkan untuk pengembangan perangkat


lunak ?

 Apa perbedaan model proses linier dan model proses iteratif ?

 Apa kekuatan dan kelemahannya ?

 Model proses canggih apa yang telah diusulkan untuk rekayasa perangkat lunak ?

Definisi

 Suatu proses evolusi dan pemanfaatan alat dan teknik untuk pengembangan
software.

 Penetapan dan penggunaan prinsip – prinsip rekayasa dalam rangka


mendapatkan software yang ekonomis yaitu software yang terpercaya dan
bekerja efisien pada mesin ( komputer )

Page 5 of 120
- Terkandung komponen nilai dari SE yang berbentuk program dengan tugas -
tugas :

- Membuat suatu desain aplikasi yang ada dilingkungan tugas atau pekerjaan.

- Buat deadline : pendahuluan, perumusan masalah, analisis, desain, dan


kesimpulan.

I. DASAR-DASAR PENGERTIAN SOFTWARE

a. Perilaku dinamis dari program komputer

b. Program adalah ekspresi intelektual dalam

c. Program terdiri dari algoritma

d. Bahasa yang digunakan adalah tingkatan ultra rendah (Binary)

e. Program diterjemahkan (kompilasi, interprestasi, Assembly) untuk menjalankan.

f. Transformasi atas dasar angka suatu pernyataan program lebih mudah.

g. Sistem elemen software bersifat logika bukan fisik.

h. Penggunaan komputer untuk tingkat yang lebih tinggi (Aplikasi Program)

- SE berkaitan dengan pembangunan produk program

- SE adalah disiplin rekayasa (Engineering)

- Ilmuwan membangun dalam usaha untuk belajar

- Engineering belajar dalam usaha untuk membangun

- Kegiatan software engineering :

 Analisa kebutuhan dan spesifikasi

 Estimasi “Feasibility” dan sumber daya

 Desain solusi perangkat lunak berbasis komputer

Page 6 of 120
 Implementasi desain berupa program

 Pengukuran kwalitas hasil akhir berupa software

III. KARAKTERISTIK SOFTWARE

1. Sistem elemen software bersifat logika bukan fisik.

2. Software dikembangkan atau rekayasa.

3. Software tidak rusak.

IV. TUJUAN SOFTWARE ENGINEERING

- Biaya produksi rendah

- Kinerja yang tinggi

- Biaya perawatan yang rendah

- Keandalan yang tinggi

- Penyerahan tepat waktu

V. KOMPONEN BIAYA PENGEMBANGAN

- Biaya relatif pentahapan pengembangan perangkat lunak

Analisis

&

Desain

1/3

Page 7 of 120
VI. KINERJA PROGRAM

Dipengaruhi oleh :

- Keandalan perangkat keras

- Kebutuhan penggunanya yang ingin lebih baik

VII. PORTABILITAS

- Kemampuan transfer perangkat lunak dari suatu jenis komputer ke lainnya dengan
biaya usaha minimum

- Mengurangi ketergantungan hanya pada suatu pemasok

- Lebih bersifat non-teknis/ politis dari pada teknis

VIII. PERAWATAN

- Perbaikan membutuhkan waktu

- Perubahan perangkat lunak juga butuh waktu

- Perawatan berusaha membutuhkan usaha yang membutuhkan perhatian cukup


besar.

- Biaya relatif pentahapan pengembangan perangkat lunak

IX. KEANDALAN SYSTEM

- Dibutuhkan saat kegiatan system yang berkelanjutan

- Aplikasi yang berbeda membutuhkan tingkat keandalan yang berbeda.

- Keandalan perangkat lunak perangkat keras

Page 8 of 120
X. APLIKASI – APLIKASI SOFTWARE
1. Sistem Software.

o Compilers

o Editors

o Operating System Components

o Telecommunication Processors

o File Management Utilities

o Operating System Components

2. Real – time Software

o Software yang mengukur / menganalisis / mengontrol kejadian – kejadian yang


sesungguhnya ( sedang berlangsung )

3. Business Software

o Payroll (penggajian)

o Account Receivable (Piutang Usaha)

o Account Payable (Hutang)

o Inventory (Persediaan)

4. Engineering and Scientific Software

o Computer Aided Design ( CAD )

o System Simulation

5. Embedded Software

o Keypad pada microwave oven

o Fungsi – fungsi digital pada mobil : Fuel Control, Dashboard Displays, Breaking
Systems

Page 9 of 120
6. Personal Computer / PCI Software

o Word Processing

o Spread Sheets

o Computer Graphics

o Database Management

o Personal and Business Financial Appliations

7. Artifical Intelligent Software

o Extern Systems ( Knowledge – Pased Systems )

o Pattern Recognition ( Image and Voice )

o Thasram Proving

o Game Playing

XI. METODE :

Metode adalah cara bagaimana kita secara teknis menyediakan pembangunan software,
yang terdiri dari :

1. Perencanaan proyek dan estimasi

2. Analisis kebutuhan sistem dan software

3. Rancangan struktur data

4. Arsitektur program

5. Algoritma Prosedur

6. Pengkodean

7. Testing

8. Pemeliharaan

Page 10 of 120
XII. ALAT BANTU :

 Menyediakan dukungan otomatis / semi otomatis untuk metode COMPUTER AIDED


SOFTWARE ENGINEERING ( CASE )

 Fungsi Mengkombinasikan software, hardware, dan software engineering


database.

XIII. PROSEDUR :

1. Penggabungan metode dan alat bantu.

2. Prosedur mendefinisikan urutan ( sequence) metode.

3. Prosedur mendefinisikan keluaran : dokumen, laporan, dan formulir yang dibutuhkan.

4. Prosedur mendefinisikan kontrol yang membantu keyakinan kualitas dan perubahan


koordinasi.

5. Prosedur mendefinisikan ‘milestone’ yang memungkinkan manager memperkirakan


kemajuan.

XIV. PARADIGMA REKAYASA SOFTWARE DIPILIH BERDASARKAN

1. Sifat dari proyek dan aplikasi

2. Metode dan alat bantu yang digunakan

3. Kontrol dan keluaran yang dibutuhkan

XV. DAUR HIDUP REKAYASA SOFTWARE (Software Engineering Life Cycle)

Pendekatan sistematis dan berurutan untuk pengembangan software.

Gambar the classic cycle (waterfall model) dapat dilihat pada halaman berikut :

Page 11 of 120
Sistem Feasibility (1)

S/W Plans & Req (2)

Product Design (3)

Detailed Design (4)

Coding (5)

Integration (6)

Implementation (7)

Opr & Maint (8)

Adapun personil yang terlibat dalam setiap tahapan adalah :


1. SA, Users dan Finance

2. SA dan Users

3. SA

4. SA

5. Programmers, Testers

6. SA, Programmers, Testers dan System Administrator

7. System Administrator, Testers dan Users

8. Maintenance staf

SA memiliki tanggung jawab untuk mengidentifikasi kebutuhan sistem dan merancang


produk PL yang semestinya sedangkan Syst Adm. bertanggung jawab dalam implementasi
perangkat lunaknya.

Page 12 of 120
XVI. Aktivitas

1. Rekayasa sistem

2. Analisa kebutuhan software

3. Rancangan (design)

i. Struktur data

ii. Arsitektur software

iii. Prosedur detil

4. Pengkodean (coding)

5. Testing

Fokus pada logical internal dari software

6. Pemeliharaan (maintenance)

i. Akomodasi terhadap perubahan lingkungan luar

ii. Pemakaian menginginkan peningkatan fungsi atau kinerja

XVII. Prototyping

Suatu proses yang memungkinkan pembangun software menciptakan sebuah model


dari software yang akan dibangun. Prototyping dapat dibangun dalam beberapa
bentuk, baik dalam ukuran kecil (miniature rumah dalam pameran real estate,
miniatur pesawat) maupun dalam ukuran sebenarnya seperti prototype Boeing 767
yang diujicobakan terbang dan mendarat ke berbagai negara dan prototype mobil
Toyota Rush yang juga diujicobakan dalam kelaikan jalan di daerah bebatuan,
menanjak, berkelok, menurun dsb, untuk menguji ketahanan dan kelayakan
perangkat pendukung yang ada seperti rem, suspensi, jarak tempuh, dll. Hal ini
bertujuan agar bila ada kekurangan dalam uji coba tersebut, dapat segera diperbaiki
sebelum diproduksi dalam jumlah yang banyak.

Page 13 of 120
XVIII. KESIMPULAN

a. Pengulangan pernyataan bahwa biaya perangkat lunak lebih mahal dari pada
perangkat keras.

b. Tumbuhnya jumlah ketersediaan paket standar perangkat lunak.

c. Propaganda yang menyatakan bahwa membuat program semakin mudah.

d. Komponen Biaya Pengembangan : biaya relatif pertahapan pengembangan


perangkat lunak.

e. Jumlah relatif kesalahan yang terjadi saat pertahapan pengembangan


Perangkat Lunak.

Page 14 of 120
1. Tujuan Rekayasa Perangkat Lunak
A. Menghasilkan sebuah perangkat lunak yang berkualitas. Yang dimaksud dengan
berkualitas dapat dilihat dari tiga sisi, sisi sponsor (individu atau organisasi yang
telah mengeluarkan biaya dalam pembangunan perangkat lunak), sisi pemakai
(siapapun yang menggunakan perangkat lunak tersebut), sisi maintainer / modifier
(yang memelihara dan memodifikasi perangkat lunak tersebut). Untuk lebih
jelasnya lihat gambar 2.1.

Sisi Sponsor :
Tujuan utama sponsor adalah menghasilkan dan atau menghemat uang. Sponsor
ingin menggunakan perangkat lunak tersebut untuk meningkatkan produktivitas
organisasi. Sponsor mengharapkan untuk dapat menghasilkan sebuah layanan
dengan biaya yang rendah tetapi masuk akal. Karena itu sistem yang dibuat harus
handal, fleksibel dan efisien. Selain itu biaya dari pemeliharaan, modifikasi dan
peningkatan dari sistem tersebut harus serendah mungkin.

Sisi Pemakai :
Bagi pemakai perangkat lunak adalah alat untuk membantu menyelesaikan tugas-
tugasnya. Karena itu perangkat lunak harus menyediakan fungsi-fungsi yang
dibutuhkan oleh pemakai. Perangkat lunak juga harus handal dan efisien,
perangkat lunak harus dapat menghasilkan output yang konsisten. Selain itu
pemakai harus merasa perangkat lunak yang dibuat mudah untuk dipelajari, mudah
digunakan dan mudah untuk diingat.

Sisi Maintainer/modifier :
Yang diinginkan oleh maintainer/modifier adalah perangkat lunak tersebut memiliki
sangat sedikit error pada saat penginstallan pertama (catatan : sangat kecil
kemungkinannya untuk menghasilkan perangkat lunak yang 100 % bebas dari
bug). Selain itu perangkat lunak tersebut harus terdokumentasi dengan baik.
Source code juga harus mudah dibaca, terstruktur dan dirancang dengan baik dan
bersifat modular.

Page 15 of 120
2. Masalah-masalah RPL?
• Perangkat lunak telah diselesaikan dan diserahkan (delivered) tetapi tidak
pernah digunakan (47%).

• Pemakai (user) sudah membayar untuk perangkat lunak tetapi tidak pernah
jadi dan diserahkan (29,7%).

• Perangkat lunak digunakan setelah dilakukan modifikasi (3%).

• Perangkat lunak digunakan sebagaimana mestinya (2%).

Selain itu faktor pendukung kehadiran rekayasa perangkat lunak adalah :

– Ketidak mampuan untuk memprediksi waktu, usaha dan biaya pada


pengembangan perangkat lunak.

– Kualitas perangkat lunak yang kurang baik.

– Perubahan perbandingan (rasio) harga perangkat keras dan perangkat lunak.

– Kemajuan teknologi perangkat keras.

– Kemajuan teknik perangkat lunak.

– Kebutuhan yang meningkat terhadap perangkat lunak.

– Kebutuhan akan perangkat lunak yang lebih besar dan kompleks.

3. PRODUK DAN PROSES

3.1. MENGEMBANGKAN PERAN PERANGKAT LUNAK

 1980 an belum dikenal peranannya, bahkan menjadi bahan tertawaan. Hal ini
disebabkan karena pada awal diciptakan, kecepatan perangkat lunak masih sangat
lambat, sehingga masih “kalah” jika dibandingkan dengan kecepatan pengolahan
angka dengan menggunakan kalkulator ataupun sempoa.

Page 16 of 120
 Sekarang menjadi mesin yang mengendalikan pengambilan keputusan dan sangat
erat kaitannya dengan berbagai bidang antara lain :
o Transportasi
o Medis
o Telekomunikasi
o Militer
o Proses industri
o Hiburan

Ada 2 peran yang dimiliki :

a. Sebagai Produk  Perangkat Lunak mengantarkan potensi perhitungan yang


dibangun oleh perangkat lunak computer. Tidak peduli apakah perangkat lunak ada
di dalam sebuah telepon seluler atau beroperasi dalam sebuah mainframe computer,
perangkat lunak ini merupakan transformer informasi yang memproduksi, mengatur,
memperoleh, memodifikasi, menampilkan atau memancarkan informasi.
b. Sebagai kendaraan Produk itu sendiri -> Sebagai dasar untuk kontrol komputer
seperti system operasi, jaringan untuk komunikasi informasi dan penciptaan serta
control dari program-program lain.

Peran Perangkat Lunak computer mengalami perubahan penting dan dramatis selama
paruh abad ke 20 seperti unjuk kerja perangkat keras, perubahan-perubahan besar dalam
arsitektur computer, pertambahan yang pesat pada memori dan kapasitas penyimpanan,
serta variasi pilihan input dan output yang luas

Page 17 of 120
Era ketiga ditandai dengan munculnya :

 System terdistribusi – multicomputer


 Masing-masing melakukan fungsi secara konkuren dan berkomunikasi satu dengan
yang lain
 Menambah kompleksitas system berbasis computer.
 Permintaan akan pengembangan perangkat lunak dibidang jaringan local maupun
global, jaringan komunikasi digital dan bandwidth yang tinggi meningkat
 Ditandai dengan kehadiran dan penyebaran pemakaian microprocessor

Era ke empat :
 User semakin jauh dari computer individual dan pemrograman
 Menuju kepada pengaruh kolektif dari computer dan perangkat lunak
 Mesin desktop yang kuat
 Sistem operasi lebih canggih
 Tersedianya jaringan local dan global
 Arsitektur perhitungan berubah cepat dari lingkungan mainframe terpusat ke
lingkungan client/server yang desentralisasi

Rangkuman perkembangan yang terjadi, secara ringkas, terlihat dalam tabel sbb :
Tahun-tahun Awal Era Kedua Era Ketiga Era Keempat

 Orientasi Batch  Multiuser  Sistem  Sistem Desktop


 Distribusi terbatas  Real-Time Terdistribusi bertenaga kuat
 Perangkat Lunak  Database  Embedeed  Teknologi
Kustomisasi  Perangkat Lunak Intelligence berorientasi objek
Produk  Perangkat keras  Sistem Pakar
biaya rendah  Jaringan syaraf
tiruan
 Komputasi paralel
 Komputer jaringan

1950 1960 1970 1980 1990 2000

Gambar 1.1. Evolusi Perangkat Lunak

Page 18 of 120
a. Embedded Software  Dlm otomotif untuk kontrol bahan bakar, tampilan dashboard,
sistem rem, dll.
b. Perangkat Lunak Personal Komputer  Worksheet, Simple Database, dll.
c. Perangkat Lunak Kecerdasan Buatan  Game, pembuktian teorema

usang
Tingkat Kematian
Kegagalan segera

waktu

Gambar 1.2. Kurva Kegagalan perangkat keras

Tingkat
kegagalan Pada tingkat yang sama
sampai usang

waktu
Gambar 1.3. Kurva Kegagalan pada perangkat lunak

Page 19 of 120
BAB 2 METODE
PENGEMBANGAN PL
1. PANDANGAN UMUM TENTANG RPL
Rekayasa merupakan :
 Analisis
 Desain
 Konstruksi
 Verifikasi
 Manajemen Kesatuan Teknik (atau sosial)

Tanpa mempedulikan kesatuan yang dikembangkan, pertanyaan2 dibawah ini harus


dimunculkan dan dijawab :
a. Masalah apa yang harus dipecahkan ?
b. Karakteristik kesatuan apa yg dipakai untuk menyelesaikan masalah tersebut ?
c. Bagaimana kesatuan (dan pemecahan) tersebut diadakan ?
d. Pendekatan apa yang dipakai untuk menemukan kesalahan-2 yang dibuat
dalam desain dan konstruksi dari kesatuan tersebut ?
e. Bagaimana kesatuan tsb ditopang selama adaptasi dan selama perbaikan ?

“Dari IEEE ( IEEE Std 1016 – 1998 Recommended Practice for Software Design
Description ) Dari standar IEEE 1016, ditekankan bahwa siklus hidup adalah segala
sesuatu yang lebih berdasar kepada urutan waktu dibandingkan proses yang terjadi.
Proses perangkat lunak ialah kegiatan yang tercakup dalam upaya memproduksi
dan mengembangkan sistem perangkat lunak. Proses disajikan dalam model proses
perangkat lunak. Kegiatannya secara umum terdiri dari penetapan spesifikasi, desain
dan implementasi, validasi dan evolusi. Rekayasa kebutuhan (requirement
engineering) adalah proses pengembangan spesifikasi perangkat lunak. Proses
disain dan implementasi mengubah spesifikasi untuk sebuah sistem Bahwa siklus
hidup perangkat lunak merupakan urutan hidup sebuah perangkat lunak berdasarkan
perkembangan perangkat lunak yang ditentukan oleh pengembang perangkat lunak
itu sendiri.

Proses perangkat lunak sangat rumit dan,seperti semua proses intelektual.


Bergantung pada penilaian manusia. Karena dibutuhkan penilaian dan kreatifitas.
keberhasilan usaha untuk mengotomasi proses perangkat lunak menjadi terbatas.

Tahapan proses perangkat lunak, yaitu :


 Rekayasa
 Analisa dan perancangan

Page 20 of 120
 Pengembangan perangkat lunak
 Pasca produksi

Definisi Proses

Analisis dan defenisi persyaratan. Pelayanan, batasan, dan tujuan sistem ditentukan
melalui konsultasi dengan user sistem. Perancangan sistem dan perangkat lunak.
Proses perancangan sistem membagi persyaratan dalam sistem perangkat keras
atau perangkat lunak. Kegiatan ini menentukan arsitektur sistem secara keseluruhan.
Implementasi dan pengujian unit. Pada tahap ini, perancangan perangkat lunak
direalisasikan sebagai serangkaian program atau unit program.

Integrasi dan pengujian sistem. Unit program atau program individual diintegrasikan dan diuji
sebagai sistem yang lengkap untuk menjamin bahwa persyaratan sistem

Kesimpulannya:
Bahwa sebuah proses perangkat lunak merupakan sekumpulan aktifitas maupun
metode yang digunakan pengembang perangkat lunak.

1. Teori Dalam Siklus Hidup - Waterfall


Siklus hidup yang paling terkenal dalam dunia RPL adalah waterfall model .
Waterfall model diciptakan pertama kali oleh William Royce pada tahun 1970
dan mulai terkenal karena logika fase (tahapan,tingkatan,masa).

Waterfall sendiri memiliki definisi bahwa sebuah proses hidup perangkat lunak memiliki
proses yang linier dan sequensial.

Waterfall Life Cycle

Page 21 of 120
2. Rapid Aplication Development ( RAD )
Merupakan metodelogi perancangan system dengan menggunakan frekwensi atau
rentang waktu yang ditetapkan jaraknya sesuai dengan perangkat lunak yang
dikembangkan
3. Prototype
Metodelogi perancangan system yang evolusioner dimana dalam proses
pengembangannya membutuhkan kemampuan tingkat mahir atau yang telah
memahami permasalahan dalam kegiatan perancangan system dengan pengalaman
dan keilmuan yang lebih baik.
4. Spiral
Metodelogi ini pun merupakan kategori evolusioner yang membutuhkan kemampuan
menganalisa permasalahan yang lebih komplek secara battom up.

Page 22 of 120
PROTOTYPING DAN PEMODELAN
PERANGKAT LUNAK

PROTOTYPING PERANGKAT LUNAK

Dalam proses analisis proses pendekatan dilakukan, dan salah satunya adalah
prototyping. Prototyping adalah sebuah proses pengumpulan persyaratan, pengaplikasian
prinsip analisis, dan penyusunan model perangkat lunak yang akan dibangun untuk penilaian
dan pengembangan. Akhirnya ada lingkungan yang membutuhkan konstruksi prototipe pada
awal analisis, karena model adalah satu-satunya alat dimana persyaratan dapat ditarik secara
efektif. Model tersebut kemudian dikembangkan dalam perangkat lunak produksi.
Ada empat model prototype:
1. Prototype kertas, menggambarkan system dengan menggunakan media kertas.
Prototype kertas tidak bisa diuji coba dan diimplementasikan.
2. Prototype berbasis PC, memanfaatkan program aplikasi untuk menunjukkan
interaksi manusia dan komputer.
3. Prototype kerja, merupakan implementasi sebagian fungsi system yang ingin
dilihat unjuk kerjanya, dan diwujudkan dalam sebuah program.
4. Prototype program, program benar-benar dibuat dan dapat berfungsi dengan baik.
Selain itu, program juga terus menerus ditambah dan dilengkapi.

Paradigma prototyping dapat terbatas atau tidak terbatas. Pendekatan terbatas disebut
throaway prototyping. Dengan menggunakan pendekatan ini, prototipe sebagai sebuah
demonstrasi dari sebuah persyaratan. Sedangkan pendekatan tidak terbatas, yang disebut juga
evolutionary prototyping., menggunakan prototipe sebagai bagian pertama dari aktivitas
analisis yang akan diteruskan ke dalam desain dan konstruksi. Sebelum pendekatan terbatas
atau tidak terbatas dilaksanakan perlu dilakukan apakah sistem yang akan dibangun dapat
menerima protoyping atau tidak. Sejumlah faktor perlu diperhatikan, diantaranya: area
aplikasi, kompleksitas aplikasi, karakteristik pelanggan, dan karakteristik proyek.

Page 23 of 120
Beberapa kelebihan/manfaat yang bisa diambil bila kita menggunakan prototyping
antara lain :
1. Adanya komunikasi yang intensif antara pengembang dan user
2. Membantu dalam analisis, karena kebutuhan user telah dipahami dengan baik oleh
pengembang sehingga dapat meminimalkan salah persepsi antara kedua pihak.
3. Peran user meningkat, karena user dapat melakukan evaluasi dan masukan baru
setiap saat.
4. Pengembangan lebih cepat, karena program bisa langsung dibuat dan user dapat
melihat setiap tahap pembuatan program.
5. Mudah dalam implementasinya, karena user sudah sejak awal terlibat sehingga
sudah akrab dan tidak merasa asing terhadap program.
Sedangkan kelemahan memakai prototype adalah :
1. User sibuk, karena user dan pengembang harus sama-sama memiliki komitmen untuk
sering bertemu dan membahas kebutuhannya
2. User ingin program segera selesai sehingga pengembang sering mengabaikan
dokumentasi
3. User berharap terlalu banyak, seringnya evaluasi dan komunikasi membuat user sering
berubah fikiran dan tidak pasti akan kebutuhannya.

PEMODELAN REKAYASA PERANGKAT LUNAK

Di dalam suatu industri dikenal berbagai macam proses, demikian juga halnya dengan
industri perangkat lunak. Perbedaan proses yang digunakan akan menguraikan aktivitas-
aktivitas proses dalam cara-cara yang berlainan. Perusahaan yang berbeda menggunakan
proses yang berbeda untuk menghasilkan produk yang sama. Tipe produk yang berbeda
mungkin dihasilkan oleh sebuah perusahaan dengan menggunakan proses yang berbeda.
Namun beberapa proses lebih cocok dari lainnya untuk beberapa tipe aplikasi. Jika proses
yang salah digunakan akan mengurangi kualitas kegunaan produk yang dikembangkan.

Page 24 of 120
Karena banyaknya variasi dalam model proses yang digunakan maka tidak mungkin
menghasilkan gambaran-gambaran yang reliabel untuk alokasi biaya dalam aktivitas-aktivitas
ini.

Modifikasi perangkat lunak biasanya lebih dari 60 % dari total biaya pembuatan
perangkat lunak. Presentasi ini terus bertambah karena lebih banyak perangkat lunak
dihasilkan dan dipelihara. Pembuatan perangkat lunak untuk suatu perubahan adalah penting.
Proses perangkat lunak komplek dan melibatkan banyak aktivitas.

Seperti produk, proses juga memiliki atribut dan karakteristik seperti :

 Understandability, yaitu sejauh mana proses secara eksplisit ditentukan dan bagaimana
kemudahan definisi proses itu dimengerti.
 Visibility, apakah aktivitas-aktivitas proses mencapai titik akhir dalam hasil yang jelas
sehingga kemajuan dari proses tersebut dapat terlihat nyata/jelas
 Supportability, yaitu sejauh mana aktivitas proses dapat didukung oleh CASE
 Acceptability, apakah proses yang telah ditentukan oleh insinyur dapat diterima dan
digunakan dan mampu bertanggung jawab selama pembuatan produk perangkat lunak
 Reliability, apakah proses didesain sedimikian rupa sehingga kesalahan proses dapat
dihindari sebelum terjadi kesalahan pada produk.
 Robustness, dapatkah proses terus berjalan walaupun terjadi masalah yang tak diduga
 Maintainability, dapatkah proses berkembang untuk mengikuti kebutuhan atau
perbaikan
 Rapidity, bagaimana kecepatan proses pengiriman sistem dapat secara lengkap
memenuhi spesifikasi.

Tidak mungkin untuk mengoptimalkan semua atribut proses secara serentak.


Contohnya, jika pengembangkan proses cepat dilakukan mungkin kita perlu mengurangi
visibility proses karena pembuatan proses yg nyata berarti pembuatan dokumen secara teratur.
Ini akan memperlambat proses.

Page 25 of 120
Pemodelan dalam rekayasa perangkat lunak merupakan suatu hal yang dilakukan
ditahap awal dan akan mempengaruhi pekerjaan-pekerjaan selanjutnya dalam rekayasa
perangkat lunak tersebut.

1. Model Waterfall

Langkah-langkah yang penting dalam model ini adalah

 Penentuan dan analisis spesifikasi

Jasa, kendala dan tujuan dihasilkan dari konsultasi dengan pengguna sistem. Kemudian
semuanya itu dibuat dalam bentuk yang dapat dimengerti oleh user dan staf pengembang.

 Desain sistem dan perangkat lunak

Proses desain sistem membagi kebutuhan-kebutuhan menjadi sistem perangkat lunak atau
perangkat keras. Proses tersebut menghasilkan sebuah arsitektur sistem keseluruhan.
Desain perangkat lunak termasuk menghasilkan fungsi sistem perangkat lunak dalam
bentuk yang mungkin ditransformasi ke dalam satu atau lebih program yang dapat
dijalankan.

 Implementasi dan ujicoba unit

Selama tahap ini desain perangkat lunak disadari sebagai sebuah program lengkap atau
unit program. Uji unit termasuk pengujian bahwa setiap unit sesuai spesifikasi.

 Integrasi dan ujicoba sistem

Unit program diintegrasikan dan diuji menjadi sistem yang lengkap untuk menyakinkan
bahwa persyaratan perangkat lunak telah dipenuhi. Setelah ujicoba, sistem disampaikan ke
pelanggan.

 Operasi dan pemeliharaan

Page 26 of 120
Normalnya, ini adalah phase yang terpanjang. Sistem dipasang dan digunakan.
Pemeliharaan termasuk pembetulan kesalahan yang tidak ditemukan pada langkah
sebelumnya. Perbaikan implementasi unit sistem dan peningkatan jasa sistem sebagai
kebutuhan baru ditemukan.

Gambar. Pemodelan waterfall

Dalam prakteknya, setiap langkah sering tumpang tindih dan saling memberi
informasi satu sama lain. Proses perangkat lunak tidak linier dan sederhana tapi mengandung
urutan iterasi dari aktivitas pengembangan. Selama di langkah terakhir, perangkat lunak telah
digunakan. Kesalahan dan kelalaian dalam menentukan kebutuhan perangkat lunak original
dapat diatasi
Sayangnya, model ini banyak mengandung iterasi sehingga membuat sulit bagi pihak
manajemen untuk memeriksa seluruh rencana dan laporan. Maka dari itu, setelah sedikit
iterasi, biasanya bagian yang telah dikembangkan akan dihentikan dan dilanjutkan dengan
langkah pengembangan selanjutnya. Masalah-masalah selama resolusi selanjutnya, dibiarkan
atau diprogram. Pemberhentian yang prematur dari persyaratan akan berarti bahwa sistem
tidak akan sesuai dengan keinginan user. Mungkin juga sistem terstruktur secara jelek yang

Page 27 of 120
sebenarnya merupakan masalah desain akan dibiarkan karena terkalahkan oleh trik
implementasi.

Masalah pendekatan waterfall adalah ketidakluwesan pembagian project ke dalam langkah


yang nyata/jelas. Sistem yang disampaikan kadang-kadang tidak dapat digunakan sesuai
keinginan customer. Namun demikian model waterfall mencerminkan kepraktisan
engineering. Konsekuensinya, model proses perangkat lunak yang berdasarkan pada
pendekatan ini digunakan dalam pengembangan sistem perangkat lunak dan hardware yang
luas.

2. Model Spiral

Model spiral dibagi menjadi sejumlah aktivitas kerangka kerja, disebut juga wilayah
tugas, antara tiga sampai 6 wilayah tugas :

 Komunikasi pelanggan

Tugas-tugas yang dibutuhkan untuk membangun komunikasi yang efektif antara


pengembang dan pelanggan

 Perencanaan

Tugas-tugas yang dibutuhkan untuk mendefinisikan sumber-sumber daya, ketepatan


waktu dan proyek informasi lain yang berhubungan

 Analisis resiko

Tugas-tugas yang dibutuhkan untuk memperkirakan resiko-resiko, baik manajemen


maupun teknis.

 Perekayasaan

Page 28 of 120
Tugas-tugas yang dibutuhkan untuk membangun satu atau lebih representasi aplikasi.

 Konstruksi dan peluncuran

Tugas-tugas yang dibutuhkan untuk mengkonstruksi, menguji, memasang dan


memberikan pelayanan pada pemakai (missal pelatihan dan dokumentasi).

 Evaluasi pelanggan

Tugas-tugas yang dibutuhkan untuk memperoleh umpan balik dari pelanggan dengan
didasarkan pada evaluasi representasi perangkat lunak, yang dibuat selama masa
perekayasaan dan diimplementasikan selama masa pemasangan.

Model spiral menjadi sebuah pendekatan yang realistis bagi perkembangan sistem dan
perangkat lunak skala besar. Karena perangkat lunak terus bekerja selama proses bergerak,
pengembang dan pemakai memahami dan bereaksi lebih baik terhadap resiko dari tiap tingkat
evolusi.

Perencanaanan
Analisis resiko

Komunikas
pelanggan
Perekayasaan

Evaluasi pelanggan
Konstruksi dan
peluncuran

Page 29 of 120
Gambar. Model spiral

3. Rational Unified Process (RUP)

Rational Unified Process adalah proses rekayasa perangkat lunak yang menyediakan
pendekatan disiplin untuk menandai tugas-tugas dan tanggung jawab dalam pengembangan
organisasi. RUP berfokus pada perangkat lunak kualitas tinggi yang mengakomodasi
kebutuhan end user dengan jadwal dan anggaran biaya yang dapat diprediksikan.

RUP meningkatkan produktivitas team dengan menyediakan kemudahan bagi setiap


anggota team untuk mengakses pengetahuan yang digunakan untuk aktivitas pengembangan
sehingga semua anggota team turut ambil bagian dalam pengembangan perangkat lunak.

Page 30 of 120
Gambar. Rational Unified Process

 Business modeling

Masalah terbesar dalam usaha pengembangan bisnis adalah komunitas bisnis


dengan perekayasa perangkat lunak tidak saling berkomunikasi dengan baik. Hal ini
mengakibatkan output dari dunia bisnis tidak digunakan untuk input rekayasa software
dengan semestinya demikian pula sebaliknya. RUP mengatasi masalah ini dengan
menyediakan bahasa dan proses umum untuk kedua komunitas ini yang menunjukkan
bagaimana membuat dan memelihara perencanaan langsung antara model bisnis
dengan perangkat lunak.

Dalam bisnis modeling kita mendokumentasikan proses bisnis menggunakan


use case bisnis yang menjamin pengertian yang sama diantara pihak-pihak pengambil
keputusan mengenai proses bisnis apa yang dibutuhkan untuk mendukung
pengembangan organisasi.

 Requirements

Requirements mendeskripsikan apa yang seharusnya dilakukan oleh sistem dan


memastikan bahwa pengembang dan pelanggan menyetujui deskripsi tersebut. Untuk
mencapai hal ini kadang kita harus memaksakan pemunculan, pengorganisasian dan
pendokumentasian permintaan; melacak dan mendokumentasikan penawaran serta
pengambilan keputusan.

 Analysis and design

Page 31 of 120
Analisis dan desain menunjukkan bagaimana sistem akan direalisasikan dalam
fase implementasi. Kita ingin membangun sistem yang :

- membentuk tugas dan fungsi sesuai spesifikasi use case


- memenuhi semua permintaan (requirements)
- terstruktur dengan kuat

Analisis dan desain menghasilkan model desain dan model analisis. Desain model
berlaku sebagai blueprint yang menggambarkan bagaimana source code disusun dan
ditulis.

 Implementation

Tujuan implementasi adalah :

- Mendefinisikan pengorganisasian kode


- Mengimplementasikan kelas dan obyek ke dalam bentuk komponen
- Menguji pengembangan komponen
- Mengintegrasikan hasil produksi individual implentasi ke dalam sebuah
sistem tereksekusi
 Test

Pengujian bertujuan untuk :

- Memeriksa interaksi antar obyek


- Memeriksa usaha penyatuan seluruh komponen perangkat lunak
- Memeriksa apakah semua requirement telah diimplementasikan dengan
benar
- Mengidentifikasi dan memastikan kesalahan telah diketahui sebelum
peluncuran program.
 Configuration and change management

Page 32 of 120
Berisi panduan untuk mengatur berbagai variasi perkembangan sistem
perangkat lunak, pelacakan versi mana yang digunakan dalam pembuatan perangkat
lunak, pembuatan program individual atau keseluruhan berdasar spesifikasi yang
diminta user dan kebijakan pengembangan perangkat lunak

 Environment

Menyediakan lingkungan pendukung bagi pengembangan program (meliputi


proses dan tool) yang dibutuhkan oleh team pengembang. Environment berfokus pada
aktivitas untuk mengkonfigurasi proses ke dalam proyek, panduan pendukung untuk
pengembangan proyek.

 Deployment

Deployment mensukseskan peluncuran produk dan penyampaian perangkat


lunak ke pengguna akhir. Deployment meliputi:

- Pengemasan perangkat lunak


- Pendistribusian perangkat lunak
- Penginstallan perangkat lunak
- Bantuan dan dukungan bagi pengguna

4. Rapid Application Development (RAD)

Rapid Application Development (RAD) adalah salah satu metode pengembangan suatu
sistem informasi dengan waktu yang relatif singkat. Untuk pengembangan suatu sistem
informasi yang normal membutuhkan waktu minimal 180 hari, akan tetapi dengan
menggunakan metode RAD suatu sistem dapat diselesaikan hanya dalam waktu 30-90 hari.
Tujuan utama dari semua metode pengembanga sistem adalah memberikan suatu
sistem yang dapat memenuhi harapan dari para pemakai, akan tetapi sering kali di dalam
melakukan pengembangan suatu sistem tidak melibatkan para pemakai sistem secara

Page 33 of 120
langsung, sehingga hal ini menyebabkan sistem informasi yang dibuat jauh dari harapan
pemakai yang dapat berakibat sistem tersebut walaupun dapat diterima tetapi para pemakai
enggan untuk menggunakannya atau bahkan para pemakai menolak untuk menggunakannya.
Pada saat RAD diimplementasikan, maka para pemakai bisa menjadi bagian dari
keseluruhan proses pengembangan system dengan bertindak sebagai pengambil keputusan
pada setiap tahapan pengembangan. RAD bisa menghasilkan suatu system dengan cepat
karena sistem yang dikembangkan dapat memenuhi keinginan dari para pemakai sehingga
dapat mengurangi waktu untuk pengembangan ulang setelah tahap implementasi.
Metode RAD mempunyai 3 tahapan utama seperti yang terlihat pada gambar dibawah
ini :

Tahapan-tahapan RAD :

1. Requirements planning ( rencana kebutuhan)

Pada tahap ini, user dan analyst melakukan semacam pertemuan untuk melakukan
identifikasi tujuan dari aplikasi atau system dan melakukan identifikasi kebutuhan
informasi untuk mencapai tujuan. Hal terpenting dalam tahap ini adalah adanya
keterlibatan dari kedua belah pihak, bukan hanya sekedar persetujuan akan proposal yang
sudah dibuat. Untuk lebih jauh lagi, keterlibatan user bukan hanya dari satu tingkatan pada
suatu organisasi, melainkan beberapa tingkatan organisasi sehingga informasi yang
dibutuhkan untuk masing-masing user dapat terpenuhi dengan baik.
2. Design workshop (proses desain)

Pada tahap ini adalah melakukan proses desain dan melakukan perbaikan-perbaikan
apabila masih terdapat ketidaksesuaian desain antara user dan analyst. Untuk tahap ini

Page 34 of 120
maka keaktifan user yang terlibat sangat menentukan untuk mencapai tujuan, karena user
bisa langsung memberikan komentar apabila terdapat ketidaksesuaian pada desain.
Biasanya, user dan analyst berkumpul menjadi satu dan duduk di meja melingkar dimana
masing-masing orang bias melihat satu dengan yang lain tanpa ada halangan.
3. Implementation (implementasi)

Setelah desain dari sistem yang akan dibuat sudah disetujui baik itu oleh user dan analyst,
maka pada tahap ini programmer mengembangkan desain menjadi suatu program. Setelah
program selesai baik itu sebagian maupun secara keseluruhan, maka dilakukan proses
pengujian terhadap program tersebut apakah terdapat kesalahan atau tidak sebelum
diaplikasikan pada suatu organisasi. Pada saat ini maka user bias memberikan tanggapan
akan sistem yang sudah dibuat serta persetujuan mengenai sistem tersebut.

Page 35 of 120
BAB 3 ANALISA KEBUTUHAN

1. Apa yang disebut Kebutuhan (Requirement)

Menurut arti kamus, kebutuhan adalah sesuatu yang diminta, sesuatu yang dibutuhkan.
Sedangkan menurut IEEE (The Institute of Electrical and Electronics Engineers)
kebutuhan adalah :
• Kondisi atau kemampuan yang diperlukan pemakai untuk menyelesaikan suatu
persoalan, atau untuk mencapai sebuah objek.
• Kondisi atau kemampuan yang harus dipenuhi oleh sistem, dalam arti memenuhi
kontrak, standar, spesifikasi atau dokumen formal lain yang diinginkan.

Tahap kebutuhan akan perangkat lunak dimulai dengan :


a. Dikenalinya adanya sebuah permasalahan yang membutuhkan sebuah
penyelesaian. Identifikasi sebuah permasalahan mungkin dapat dilakukan
dengan berorientasi pada aplikasi, berorientasi pada bisnis, atau berorientasi
pada kenaikan produktivitas (product improvement oriented).

b. Munculnya ide untuk membuat sebuah perangkat lunak baru (sebagai sebuah
kemajuan).

Ada dua jenis kebutuhan :


1. Behavioral
• Apa yang dilakukan oleh sistem (input dan output dari dan ke sistem).
• Hubungan informasi antara input dan output sehingga menghasilkan
sebuah fungsi transformasi.

2. Non-behavioral
Mendefinisikan atribut sistem yang terkait untuk membentuk pekerjaan
tersebut. Termasuk deskripsi lengkap tentang efisiensi, keamanan (security),
rehability maintenability (bagaimana perawatan untuk sistem), dan portability
(bisa dipindahkan dari satu perangkat keras ke perangkat keras lainnya).

Page 36 of 120
• Jika dapat dideteksi, dilakukan perbaikan pada setiap tahap proses.

• Jika tidak dapat dideteksi, kesalahan baru kelihatan setelah produk selesai
dibuat.

2. Tahap Analisis Kebutuhan Perangkat Lunak


Tahap pekerjaan analisis kebutuhan perangkat lunak pada dasarnya terdiri dari urutan
aktivitas :

1. Menentukan kebutuhan (requirement)


Lebih banyak berhubungan dengan pemakai. Hasil belum terstruktur.

• Data atau informasi apa yang akan diproses


• Fungsi apa yang diinginkan
• Kelakuan sistem apa yang diharapkan
• Antarmuka apa yang tersedia (user interfaces, hardware interfaces, software
interface, dan communications interfaces)

2. Sintesis
Mengubah kebutuhan yang belum terstruktur menjadi model atau gambar dengan
memanfaatkan teknik dan metodeanalisis tertentu.

3. Membuat dokumen Software Requirements Spesification (SRS).


Sudah merupakan analisis yang lebih rinci, sebagai tahap awal perancangan.

3. Metode Analisis
Metode atau teknik untuk melakukan analisis kebutuhan perangkat lunak
dikelompokkan berdasarkan pendekatan yang diambil pada saat melakukan aktivitas
tersebut.

Berorientasi Aliran Data (Data Flow Oriented atau Functional Oriented) dengan
teknik top down atau bottom up.

Page 37 of 120
Pada proses kegiatan analisi system perencanaan Proyek (Project Planning) merupakan
awal dari serangkaian aktivitas secara kolektif dari sebuah proses Manajemen Proyek
Perangkat Lunak
 Yang pertama dalam proses perencanaan ini adalah Estimation (perkiraan)
 Bertujuan untuk melihat kondisi umum ke depan
 Siap menerima kondisi yang berada dalam tingkat ketidak pastian.
 Estimasi menjadi dasar bagian semua aktivitas perencanaan proyek yang lain, dan
 Perencanaan proyek memberikan sebuah peta jalan bagi suksesnya Rekayasa
Perangkat Lunak

Untuk mendapatkan data kita perlu melakukan beberapa kegiatan (Perancangan Sistem
Informasi, Tata Sutabri, 2005);
1. Observasi
2. Interview
3. Kuisioner
4. Korespondensi

OBSERVASI PADA ESTIMASI


Harapan Ekesekutif akan persyaratan seorang calon manajer proyek :
 Memiliki kemampuan untuk mengetahui ketidakberesan apa yang akan terjadi
sebelum hal itu benar-benar terjadi
 Memiliki keberanian untuk memperkirakan kapan mendung akan datang

1. Yang Harus Dihindari


Hindari hal-hal berikut saat pembentukan SRS

1. Over specification (penjelasan berlebih dan berulang-ulang sehingga menjadi


tidak jelas)
2. Tindakan unconcistency
3. Ambiguity dalam kata atau kalimat
4. Menuliskan “mimpi-mimpi” , yaitu hal-hal yang tidak bisa dilakukan

Page 38 of 120
2. Aspek Dalam SRS
Dalam Suatu SRS ada 2 aspek yang harus bisa dilihat :

1. Fungsi

Menjelaskan fungsi dari perangkat lunak (digunakan untuk apa keperluan apa),
sifat lunak dan datanya.

2. Non-Fungsi

a. Dependability
i. reliability
ii. maintainbility
iii. security
iv. integrity
b. Ergonomic
c. Performance
d. Contraint

3. Atribut Suatu SRS


1. Benar (correct)

Jika salah (incorrect), artinya spesifikasi yang ditulis adalah bukan yang
diinginkan.

2. Tepat (precise)

Berpengaruh pada hasil perancangan dan pembuatan software requirements


design (SRD).

4. Yang Terlibat Dalam Pembuatan SRS


Ada 9 macam orang yang terlibat dalam pembuatan SRS :

1. Pemakai (user)

Yang mengoperasikan / menggunakan produk final dari perangkat lunak yang


dibuat.

2. Client

Orang atau perusahaan yang mau membuat sistem (yang menentukan).

3. Sistem analyst (sistem engineer)

Page 39 of 120
Yang biasa melakukan kontak teknik pertama dengan client. Bertugas
menganalisis persoalan, menerima requirement dan menulis requirement.

4. Software engineer

Yang bekerja setelah kebutuhan perangkat lunak dibuat (bekerja sama dengan
sistem engineer berdasarkan SRS)

5. Programmer

Menerima spesifikasi perancangan perangkat lunak, membuat kode dalam


bentuk modul, menguji dan memeriksa (tes) modul.

6. Test integration group

Kumpulan orang yang melakukan tes dan mengintegrasi modul.

7. Maintenance group

Memantau dan merawat performansi sistem perangkat lunak yang dibuat selama
pelaksanaan dan pada saat modifikasi muncul (80% dari pekerjaan).

8. Technical Support

Orang-orang yang mengelola (manage) pengembang perangkat lunak, termasuk


konsultan atau orang yang mempunyai kepandaian lebih tinggi.

9. Staff dan Clerical Work

Bertugas mengetik, memasukkan data dan membuat dokumen.

Page 40 of 120
BAB 4 ANALISA JADWAL
PERANCANGAN PERANGKAT LUNAK

PENJADUALAN DAN PENELUSURAN PROYEK


(PROJECT SCHEDULING and TRACKING)

MENGAPA SEBUAH PROYEK BISA TERLAMBAT ?


Meskipun ada banyak alasan mengapa perangkat lunak dikirim terlambat, sebagian besar
dapat ditelusuri sampai pada satu akar penyebab atau lebih berikut ini :
 Suatu batas waktu yang tidak realistis yang dibangun oleh orang diluar kelompok
rekayasa perangkat lunak yang memaksa manajer dan pelaksana dalam kelompok
itu
 Perubahan kebutuhan pelanggan yang tidak dicerminkan dalam perubahan jadual
 Memandang rendah jumlah usaha dan atau jumlah sumber-sumber daya yang akan
dibutuhkan untuk melakukan pekerjaan itu.
 Resiko yang dapat diramalkan dan atau tidak dapat diramalkan yang tidak dipertim-
bangkan pada saat proyek dimulai
 Kesulitan teknis yang tidak dapat dilihat sebelumnya
 Kesulitan manusia yang tidak dapat dilihat sebelumnya
 Kesalahan komunikasi diantara staf proyek yang mengakibatkan penundaan
 Kegagalan manajer proyek untuk mengetahui bahwa proyek ketinggalan dari jadual
yang ada dan kurangnya tindakan untuk memecahkan masalah tersebut.

PRINSIP PENJADUALAN
Sejumlah prinsip dasar yang bisa menuntun penjadualan proyek perangkat lunak adalah :
 PEMBAGIAN : proyek harus dibagi-bagi kedalam sejumlah tugas dan aktivitas yang
dapat dikendalikan
 SALING KETERGANTUNGAN : Saling ketergantungan dari setiap tugas dan aktivitas
yang dibagi-bagi harus ditentukan
 ALOKASI WAKTU : Setiap tugas yang akan dijadualkan harus dialokasikan dalam
sejumlah satuan kerja
 VALIDASI KERJA : Setiap proyek memiliki sejumlah staf tertentu. Pada saat alokasi
waktu dilakukan, manajer proyek harus memastikan bahwa tidak akan ada kelebihan
alokasi jumlah manusia pada suatu saat tertentu.

Page 41 of 120
 BATASAN TANGGUNG JAWAB : Setiap tugas yang dijadualkan harus ditugaskan
kepada satu anggota tim tertentu.
 BATASAN KELUARAN : Setiap tugas yang dijadualkan harus memiliki keluaran
tertentu. Untuk proyek perangkat lunak, keluaran biasanya dalam bentuk hasil kerja
(seperti rancangan modul) atau sebagian dari hasil kerja
 KEJADIAN PENTING YANG DITENTUKAN : Setiap tugas atau kelompok tugas
harus dihubungkan dengan kejadian penting proyek

HUBUNGAN ANTARA MANUSIA DAN (USAHA) KERJA


Dalam proyek pengembangan perangkat lunak berskala kecil, seseorang dapat
menganalisis kebutuhan, melakukan perancangan, generalisasi kode dan melakukan
pengujian. Ketika ukuran proyek bertambah, jumlah manusia yang terlibat menjadi
lebih banyak. Tetapi harus diingat bahwa jumlah orang yang terlibat dalam sebuah
proyek dan produktivitas TIDAK LINIER.
Contoh (1) :
 Misal ada empat orang software engineer, yang mana masing-masingnya
memiliki kemampuan menghasilkan 5000 baris program per tahun
 Asumsikan bahwa setiap komunikasi antar mereka akan mengurangi
produktivitas sebanyak 250 baris program per tahun
 Oleh karena itu :
Jumlah bagian komunikasi adalah = 4! / (2!2!) = 24 / (2 * 2) = 24 / 4 = 6
Dengan demikian, produktivitas tim akan menjadi :
= (4 * 5000) – (250 * 6)
= 20000 – 1500 = 18500 LOC / tahun
Atau setara dengan 7½ % lebih kecil dari pada yang kita harapkan

Example (2)
With 2 months remaining, 2 additional people are added
Therefore, the number of communication path: 6!/(2!4!) = 15
productivity of 2 new staffs = 2 * (5000/12 month) * 2 month = 1680 LOC
So,
team productivity: 20,000 + 1680 – 250*15  less than 18,500 LOC/year

Page 42 of 120
TIPE-TIPE PROYEK
Meskipun mudah untuk mengembangkan system klasifikasi yang luas, kebanyakan
organisasi perangkat lunak menemui proyek dengan tipe-tipe sebagai berikut :
I. Concept Development Project : diinisiasi untuk mencari konsep bisnis yang baru atau
aplikasi beberapa teknologi baru
II. New Application Development Project : dilakukan sebagai konsekuensi permintaan
pelanggan yang khusus
III. Application Enhancement Project : terjadi ketika perangkat lunak yang ada
mengalami modifikasi utama pada fungsi, kinerja atau interface yang dapat diamati
oleh pemakai akhir
IV. Application Maintenance Project : dilakukan untuk membetulkan, menyesuaikan atau
memperluas perangkat lunak yang ada dengan cara yang tidak begitu jelas bagi
pemakai akhir.
V. Reengineering Project : proyek yang dikerjakan dengan maksud membangun system
(warisan) yang ada secara keseluruhan atau sebagian.

MENENTUKAN KRITERIA ADAPTASI :


Criteria adaptasi digunakan untuk menentukan derajat kekakuan yang direkomendasikan
dimana proses perangkat lunak akan diaplikasikan. Sebelas criteria adaptasi didefinisikan
untuk proyek perangkat lunak yaitu :
 Size of the project
 Number of potential users
 Mission criticality
 Application longevity
 Stability of requirements
 Ease of customer/developer communication
 Maturity of applicable technology
 Performance constraints
 Embedded and non-embedded characteristics
 Project staff
 Reengineering factors

Page 43 of 120
JARINGAN KERJA
 A graphic representation of the task flow for the project
 Sometimes used as a mechanism for inputting task sequence and dependencies
to an automated tools
 The concurrent nature of the tasks may lead to critical path, that is, tasks that
must be completed on schedule
MENDEFINISIKAN JARINGAN KERJA

I.5a
I.3a
Concept
Tech. Risk
Implement.
Assessment

I.1 I.2 I.3b I.4 I.5b I.6


Proof of Concept Integrate Customer
Concept Concept Tech. Risk
Concept Implement. a, b, c Reaction
scoping planning Assessment

I.3c I.5c
Tech. Risk Concept
Assessment Implement.

Three I.3 tasks are Three I.3 tasks are


applied in parallel to applied in parallel to
3 different concept 3 different concept
functions functions

PENJADUALAN
 Metode PERT (Program Evaluation and Review Technique) & CPM (Critical Path
Method)
 PERT & CPM digunakan untuk :
1. Determine critical path
2. Establish most likely time estimates for individual task
3. Calculate “boundary times” that define a time “window” for particular task
 Task, terkadang disebut Work Breakdown Structure (WBS)

(akan dibahas lengkap pada mata kuliah manajemen proyek perangkat lunak)

Page 44 of 120
ALOKASI KERJA (USAHA)

 Aktivitas “front end” (40 – 50% usaha)


 Komunikasi pelanggan
 Analisa
 Desain
 Kajian ulang dan modifikasi
 Aktivitas konstruksi (15 – 20% usaha)
 Coding dan pembuatan kode
 Uji coba dan instalasi (30 – 40% usaha)
 unit, integrasi
 white-box, black box
 Regresi

Menggunakan alat bantu otomatis untuk memperoleh bagan timeline


Work tasks week 1 week 2 week 3 week 4 week 5
I.1.1 Identify need and benefits
Meet with customers
Identify needs and project constraints
Establish product statement
Milestone: product statement defined
I.1.2 Define desired output/control/input (OCI)
Scope keyboard functions
Scope voice input functions
Scope modes of interaction
Scope document diagnostics
Scope other WP functions
Document OCI
FTR: Review OCI with customer
Revise OCI as required;
Milestone; OCI defined
I.1.3 Define the functionality/behavior
Define keyboard functions
Define voice input functions
Decribe modes of interaction
Decribe spell/grammar check
Decribe other WP functions
FTR: Review OCI definition with customer
Revise as required
Milestone: OCI defintition complete
I.1.4 Isolate software elements
Milestone: Software elements defined
I.1.5 Research availability of existing software
Reseach text editiong components
Research voice input components
Research file management components
Research Spell/Grammar check components
Milestone: Reusable components identified
I.1.6 Define technical feasibility
Evaluate voice input
Evaluate grammar checking
Milestone: Technical feasibility assessed
I.1.7 Make quick estimate of size
I.1.8 Create a Scope Definition
Review scope document with customer
Revise document as required
Milestone: Scope document complete

Gambar …Time Schedule

Page 45 of 120
BAB 5 ANALISA PEMODELAN

PEMODELAN ANALISIS

 Adalah model yang menggunakan kombinasi teks dan diagram untuk menggam
barkan kebutuhan data, fungsi dan kebiasaan yang mudah dimengerti dan
ditinjau.
 Biasanya menggunakan metode :
1. Analisa terstruktur
2. Analisa Berorientasi Objek

ELEMEN MODEL ANALISIS


Model analisis harus dapat mencapai tiga sasaran utama yaitu :
1. Untuk menggambarkan apa yang dibutuhkan pelanggan
2. Untuk membangun dasar bagi pembuatan desain perangkat lunak
3. Untuk membatasi serangkaian persyaratan yang dapat divalidasi begitu perangkat
lunak dibangun

STRUKTUR MODEL ANALISIS

ERD = Entity Relationship Diagram


DFD = Data Flow Diagram
DD = Data Dictionary

Pada inti model ada Kamus Data (DD) – penyimpan yang berisi deskripsi dari semua objek
data yang dikonsumsi atau diproduksi oleh perangkat lunak.

Page 46 of 120
Disitu ada tiga diagram yang mengelilingi inti yaitu :
a. Entity Relationship Diagram yang menggambarkan hubungan antara objek data.
ERD adalah notasi yang digunakan untuk melakukan aktivitas pemodelan data.
b. Data Flow Diagram yang melayani dua tujuan :
i. Memberikan indikasi mengenai bagaimana data di transformasi pada saat
data bergerak melalui system
ii. Untuk menggambarkan fungsi-fungsi (dan sub-fungsi) yang mentransformasi
aliran data
c. State Transition Diagram yang menunjukkan bagaimana system bertingkah laku
sebagai akibat dari kejadian eksternal. Untuk melakukannya, STD menunjukkan
berbaga model tingkah laku (disebut state) system dan cara dimana transisi dibuat
dari satu state ke state lainnya. STD berfungsi sebagai dasar bagi pemodelan tingkah
laku.

DIMANA HARUS MEMULAI PEMODELAN ANALISIS ?


 A statement of scope can be acquired from:
o the FAST working document
o A set of use-cases
 the statement of scope must be “parsed” to extract data, function and behavioral
domain information

STATEMENT OF SCOPE
 Adalah deskripsi relatif dari sistem yang dibangun untuk
indicates data that are input, output and basic functionality
indicates conditional processing (at a high level)
implies certain constraints and limitations

IDENTIFIKASI OBJEK DAN OPERASI


 Tentukan “objek” dengan mengaris bawahi semua kata benda yang ditulis dalam
statement of scope seperti :
Data produsen maupun konsumen
Tempat dimana data akan disimpan
“Composite” item data

Page 47 of 120
 Tentukan “operasi” dengan member garis bawah yang ganda untuk semua kata kerja
aktif terhadap
Proses-proses yang berkaitan dengan aplikasi
Tranformasi (perubahan bentuk) data
 Pertimbangkan “layanan” lain yang akan dibutuhkan oleh objek (masalah)

DATA MODELING dan DIAGRAM HUBUNGAN ENTITAS (ERD)


Mengapa (menggunakan) Data Modeling?
 memeriksa objek data terbebas dari proses
 memusatkan perhatian pada domain data
 membuat model pada level abstraksi pelanggan
 mengindikasi bagaimana hubungan objek satu dengan lainnya

Apa itu Objek Data ?


Objek adalah sesuatu yang digambarkan dengan sekumpulan atribut (data item) dan
akan dimanipulasi dengan menggunakan perangkat lunak
 Setiap contoh dari objek (seperti buku) dapat diidentifikasi secara unik
 Setiap bentuk proses memiliki peranan penting dalam system
 Setiap objek digambarkan dengan atribut dari data itemnya sendiri

Bentuk-bentuk objek
a. Eksternal entity (printer)
b. Benda (laporan, tampilan)
c. Kejadian
d. Peranan (manajer, supervisor)
e. Unit organisasi (divisi, kelompok)
f. Tempat (pabrik, bank)
g. Struktur (record pegawai)

Objek Data dan Atribut

Page 48 of 120
Adalah objek data yang terdiri dari kumpulan atribut yang bertindak seperti aspek, kualitas,
cirri / karakteristik atau pendefinisj objek

Contoh objek : mobil


, maka atributnya adalah :
 Membuat
 model
 jenis bodi
 harga
 kode-kode pilihan

Apa yang dimaksud dengan relationship ?


Kaitan yang mengindikasikan “hubungan” dari “fakta” yang harus “diingat” oleh system dan
tidak dapat dihitung dan disampaikan secara mekanik.
 several instances of a relationship can exist
 objects can be related in many different ways

NOTASI ERD
ada tiga bentuk relationship yang dapat terjadi antar entitas

Objek1 1 relationship
1 Objek2

relationship
Objek1 1 M Objek2

relationship
Objek1 M N Objek2

MEMBANGUN ERD

Page 49 of 120
1. Level 1—modelkan semua objekdata (entiti) dan koneksinya dengan yang lain
2. Level 2—modelkan semua entitas dan hubungan
3. Level 3—modelkan semua entitas, hubungan dan atribut yang disiapkan lebih jauh

Contoh :
Program Studi Sistem Informasi dikepalai oleh seorang Ketua Program Studi yang
membina beberapa Dosen. Satu Dosen dapat mengajar satu atau lebih Mata Kuliah,
namun satu dosen tadi bisa saja mengajar lebih dari 1 kelas. 1 kelas diisi oleh banyak
Mahasiswa, dimana mahasiswa tsb bisa saja mengambil beberapa mata kuliah

1 1
Prog. Studi dikepalai Ka. ProDi

1 1

membina

M
M Dosen M
Memiliki

M M

mengampu

N
Mt. Kuliah mengajar

M
N

N
diambil Mahasiswa

N Kelas M N
menangani diisi oleh

Page 50 of 120
MEMBUAT MODEL ALIRAN (FLOW MODEL)
Setiap system berbasis computer adalah transformasi informasi …………

SISTEM
INPUT BERBASIS OUTPUT
KOMPUTER

NOTASI YANG DIGUNAKAN DALAM FLOW MODEL

EKSTERNAL ENTITI

PROSES

ALIRAN DATA

DATA STORE

EKSTERNAL ENTITI

 Adalah penghasil atau pengguna data


 Data harus selalu berasal dari suatu / beberapa tempat
 Dan harus selalu dikirim / disampaikan ke tempat lain
 Objek yang tertulis didalamnya harus kata benda
 Bila diwakili oleh departemen / orang, harus memperlihatkan jabatan (Direktur,
Kepala Gudang, Pelanggan, dsb)

Page 51 of 120
PROSES
 Berfungsi merubah data (input menjadi output)
 Data harus selalu diproses dalam beberapa cara untuk mencapai fungsi system
 Nama proses MINIMAL terdiri dari gabungan dua kata, yaitu gabungan kata kerja dan
kata benda (misal Hitung Gaji, Cetak Laporan)
 TIDAK BOLEH menggunakan kata-kata PROSES

DATA FLOW
 Data flows menunjukkan arah mengalirnya data / informasi melalui system dan data
apa yang dibawa
 Sebagai penunjuk dari mana data tsb berasal dan ke arah mana data / data yang
telah diolah (informasi) nya dituju
 Nama aliran data HARUS KATA BENDA
 TIDAK BOLEH menggunakan kata-kata DATA atau INFORMASI

DATA STORE
 Sebagai tempat penyimpanan data yang akan digunakan untuk keperluan
selanjutnya
 Nama harus sesuai content

Eksternal
Entiti Data1

DATA STORE-1

PANDUAN UNTUK (MENGGAMBARKAN) DATA FLOW DIAGRAM


 Semua ikon harus diberi label dengan nama yang mempunyai arti kecuali koneksi
antara proses dan data store

Page 52 of 120
 DFD berkembang menjadi beberapa tingkatan yang lebih rinci
 Selalu dimulai dengan diagram konteks
 Selalu memperlihatkan eksternal entity
 Selalu ada label data flow yang ditunjukkan dengan panah
 Tidak menggambarkan prosedur logika

KONEKSI YANG DIBOLEHKAN


 Koneksi antara proses dengan proses (namun tidak dianjurkan)
 Koneksi antara entity dengan proses
 Koneksi antara proses dengan data store

KONEKSI YANG TIDAK DIBOLEHKAN


 Koneksi antara entity dengan entity
 Koneksi antara data store dengan data store
 Koneksi antara data store dengan entity

CONTOH KASUS DFD


FPU
CALON PANITIA
Form Pendaftaran PPMB
MAHASISWA

Jadual test
0 Syarat Kelulusan
Lembar Jawaban SISFO
PENERIMAAN
Hasil Test MHS BARU

PIMPINAN Daftar Mhs Baru


UNIVERSITAS

DIAGRAM KONTEKS (LEVEL 0) SISFO PENERIMAAN MAHASISWA BARU

Page 53 of 120
CONTOH DFD
Form Pendaftaran Ulang
CALON
MAHASISWA Form Pendaftaran

1.0
Jadual test Entry
Calon
Mhs

C_MHS

2.0
Buat
Jadual
Test

Lembar Jawaban
3.0
Koreksi
Hasil Test Lembar
Jawaban

4.0
Entry
FPU

PPMB Syarat Kelulusan


UNIVERSITAS

M_MHS

5.0
PIMPINAN Daftar Mhs Baru Cetak
UNIVERSITAS Daftar
Mhs Baru

DIAGRAM NOL (LEVEL 1) SISFO PENERIMAAN MAHASISWA BARU

Page 54 of 120
PANDUAN LAIN YANG HARUS DIPERHATIKAN
 Keseimbangan aliran data dan DFD harus diperhatikan dalam tingkatan lanjutannya
 Membangun level 1 DFD akan lebih banyak membantu
 Gunakan rasio maksimum 1:5 (kira-kira) dalam pengembangan setiap proses
 Setiap proses di uraikan sampai masing-masingnya hanya mengerjakan 1 tugas

Page 55 of 120
EVALUASI DAN PERTANYAAN

1. Apakah perbedaan CDM,PDM dan ERD ?


ERD kepanjangan dari Entitas Relationship Diagram. ERD merupakan suatu model
untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek
dasar data yang mempunyai hubungan antar relasi. ERD untuk memodelkan struktur
data dan hubungan antar data, untuk menggambarkannya digunakan beberapa notasi
dan simbol. Sedangkan CDM singkatan dari Conseptual Data Model. CDM dipakai
untuk menggambarkan secara detail struktur basis data dalam bentuk logik. Struktur
ini independen terhadap semua software maupun struktur data storage tertentu yang
digunakan dalam aplikasi ini. Sedangkan PDM kepanjangan dari Physical Data
Model. PDM merupakan gambaran secara detail basis data dalam bentuk fisik.
Penggambaran rancangan PDM memperlihatkan struktur penyimpanan data yang
benar pada basis data yang digunakan sesungguhnya.
2. Mengapa Perlu melakukan desain database ?
 Kecepatan dan kemudahan
Database memiliki kemampuan dalam menyeleksi data, sehingga menjadi
kelompok yang terurut dengan cepat. Hal ini yang dapat menghasilkan
informasi secara cepat juga.
 Pemakaian bersama-sama
Database ini juga dapat digunakan oleh siapa saja dalam suatu perusahaan.
Contohnya database mahasiswa dalam suatu perguruan tinggi dibutuhkan oleh
beberapa bagian, seperti bagian admin, bagian keuangan, bagian akademik. Ke
semua bidang tersebut membutuhkan database mahasiswa namun tidak perlu
masing-masing bagian membuat databasenya sendiri, cukup database
mahasiswa satu saja yang disimpan di server pusat. Nanti aplikasi dari masing-
masing bagian bisa terhubung ke database mahasiswa tersebut.

Page 56 of 120
 Kontrol data terpusat
Hal ini dapat mempermudah pengontrolan data. Contohnya ingin mengupdate
data mahasiswa, maka kita hanya perlu mengupdate semua data di masing-
masing bagian atau divisi, tetapi hanya cukup meliahat di satu database saja
yang terdapat di server pusat.
 Menghemat biaya perangkat
Dengan memiliki database secara terpusat maka masing-masing divisi tidak
harus memiliki perangkat untuk menyimpan database, karena database tersebut
sudah di simpan di server pusat. Hal ini tentunya dapat memangkas pembelian
perangkat.
 Keamanan Data
Hampir semua Aplikasi manajemen database sekarang memiliki fasilitas
manajemen pengguna. Manajemen pengguna ini mampu membuat hak akses
yang berbeda-beda disesuaikan dengan kepentingan maupun posisi pengguna.
Selain itu data yang tersimpan di database diperlukan password untuk
mengaksesnya.
 Memudahkan dalam pembuatan aplikasi baru

Page 57 of 120
STUDI KASUS
Conceptual Data Model (CDM)
Membuka software PowerDesigner, kemudian klick new project setelah itu pilih
conceptual diagram.

Setelah tampil layar putih, maka pilih icon entity untuk membuat entitas entitas.

Page 58 of 120
Pembuatan tabel karyawan

Attribute dari tabel karyawan, pada field kode_karyawan diberi primary key dan
mandatory.

Page 59 of 120
Pembuatan tabel gaji.

Attribute dari tabel gaji, pada field kode_gaji diberi primary key dan mandatory.

Page 60 of 120
Pembuatan tabel transaksi.

Atrribute dari tabel transaksi, pada field kode_transaksi diberi primary key dan
mandatory.

Page 61 of 120
Pembuatan tabel jabatan.

Attribute dari tabel jabatan, pada field kode_jabatan diberi primary key dan
mandatory.

Page 62 of 120
Pembuatan tabel item_penjualan

Attribute dari tabel item_penjualan, pada id_penjualan diberi primary key

Page 63 of 120
Pembuatan tabel member.

Attribute dari tabel ,ember,pada field kode_member diberi primary dan mandatory.

Page 64 of 120
Pembuatan tabel menu.

Attribute dari tabel menu, pada kode_menu diberi primary key dan mandatory.

Page 65 of 120
Relationship

Untuk membuat relasi pilih icon relationship

 Karyawan mempunyai jabatan relasinya many to one.


 Karyawan memiliki gaji relasinya one to one.
 Karyawan melayani transaksi relasinya one to many.
 Transaksi menghitung setiap item penjualan relasinya one to many.
 Item penjualan mengambil data dari tabel menu relasinya many to one.
 Transaksi melakukan pengecekan data member yang terdaftar relasinya many
to one.

Page 66 of 120
Untuk melakukan pengecekan error atau tidaknya suatu CDM maka dengan cara F4
lalu muncul kotak dialog dibawah ini, jika isi nya kosong, maka tidak terjadi error.

Generate Physical Data Model (PDM)


Untuk menghasilkan physical data model maka dapat dipilih menu tools -> Generate
Physical Data Model

Page 67 of 120
Maka akan muncul kotak dialog PDM Generations Options seperti tampilan dibawah
ini.

Pada tab detail tambahkan tbl_ pada table prefix, kemudian rubah update rule dan
delete rule menjadi cascade. Gunanya agar bisa dilakukan delete maupun update
pada tiap relasinya.

Page 68 of 120
Setelah di apply dan ok, maka akan tampil seperti gambar dibawah ini.

Generate Database
Pilih database kemudian klick generate database.

Page 69 of 120
Pada DBMS rubah ke mysql 5.0 karena kami menggunakan database mysql versi 5.

Query Database
/*===========================================================
===*/
/* DBMS name: MySQL 5.0 */
/* Created on: 22/12/2015 11:50:11 */
/*===========================================================
===*/
drop table if exists TBL_GAJI;
drop table if exists TBL_ITEM_PENJUALAN;
drop table if exists TBL_JABATAN;
drop table if exists TBL_KARYAWAN;
drop table if exists TBL_MEMBER;
drop table if exists TBL_MENU;
drop table if exists TBL_TRANSAKSI;
/*===========================================================
===*/
/* Table: TBL_GAJI */
/*===========================================================
===*/
create table TBL_GAJI
(
KODE_GAJI int not null,
KODE_KARYAWAN int not null,
GAJI int,

Page 70 of 120
primary key (KODE_GAJI)
);

/*===========================================================
===*/
/* Table: TBL_ITEM_PENJUALAN */
/*===========================================================
===*/
create table TBL_ITEM_PENJUALAN
(
ID_PENJUALAN int not null,
KODE_TRANSAKSI int not null,
KODE_MENU int not null,
HARGA_PER_ITEM int,
KUANTITAS_PER_ITEM int,
JUMLAH_HARGA_PER_ITEM int,
primary key (ID_PENJUALAN)
);

/*===========================================================
===*/
/* Table: TBL_JABATAN */
/*===========================================================
===*/
create table TBL_JABATAN
(
KODE_JABAATAN int not null,
NAMA_JABATAN text,
primary key (KODE_JABAATAN)
);

/*===========================================================
===*/
/* Table: TBL_KARYAWAN */
/*===========================================================
===*/
create table TBL_KARYAWAN
(
KODE_KARYAWAN int not null,
KODE_JABAATAN int not null,
KODE_GAJI int,

Page 71 of 120
NAMA_KARYAWAN text,
ALAMAT_KARYAWAN text,
TANGGAL_LAHIR_KARYAWAN date,
NOMOR_HP_KARYAWAN numeric(8,0),
JENIS_KELAMIN_KARYAWAN text,
primary key (KODE_KARYAWAN)
);

/*===========================================================
===*/
/* Table: TBL_MEMBER */
/*===========================================================
===*/
create table TBL_MEMBER
(
KODE_MEMBER int not null,
NAMA_MEMBER text,
EMAIL_MEMBER text,
NO_HP_MEMBER numeric(8,0),
ALAMAT_MEMBER text,
TGL_LAHIR_MEMBER date,
JENIS_KELAMIN_MEMBER text,
primary key (KODE_MEMBER)
);

/*===========================================================
===*/
/* Table: TBL_MENU */
/*===========================================================
===*/
create table TBL_MENU
(
KODE_MENU int not null,
NAMA_MENU text,
HARGA_MENU int,
DESKRIPSI_MEU text,
primary key (KODE_MENU)
);

/*===========================================================
===*/

Page 72 of 120
/* Table: TBL_TRANSAKSI */
/*===========================================================
===*/
create table TBL_TRANSAKSI
(
KODE_TRANSAKSI int not null,
KODE_KARYAWAN int not null,
KODE_MEMBER int not null,
TANGGAL_TRANSAKSI date,
DISKON float,
TOTAL_HARGA_SELURUHNYA float,
primary key (KODE_TRANSAKSI)
);
alter table TBL_GAJI add constraint FK_MEMILIKI foreign key
(KODE_KARYAWAN) references TBL_KARYAWAN (KODE_KARYAWAN) on
delete cascade on update cascade;
alter table TBL_ITEM_PENJUALAN add constraint FK_MENGAMBIL foreign key
(KODE_MENU) references TBL_MENU (KODE_MENU) on delete cascade on
update cascade;
alter table TBL_ITEM_PENJUALAN add constraint FK_MENGHITUNG foreign
key (KODE_TRANSAKSI) references TBL_TRANSAKSI (KODE_TRANSAKSI)
on delete cascade on update cascade;
alter table TBL_KARYAWAN add constraint FK_MEMILIKI2 foreign key
(KODE_GAJI) references TBL_GAJI (KODE_GAJI) on delete cascade on update
cascade;
alter table TBL_KARYAWAN add constraint FK_MEMPUNYAI foreign key
(KODE_JABAATAN) references TBL_JABATAN (KODE_JABAATAN) on delete
cascade on update cascade;
alter table TBL_TRANSAKSI add constraint FK_MELAKUKAN foreign key
(KODE_MEMBER) references TBL_MEMBER (KODE_MEMBER) on delete
cascade on update cascade;
alter table TBL_TRANSAKSI add constraint FK_MELAYANI foreign key
(KODE_KARYAWAN) references TBL_KARYAWAN (KODE_KARYAWAN) on
delete cascade on update cascade;

Page 73 of 120
Import Database
Buka phpmyadmin, dan buat database toko.

Pilih tab import, pada choose file pilih file toko.sql kemudian klick go.

Berikut adalah hasil setelah diimport pada database toko menggunakan DBMS
MySql versi 5.

Page 74 of 120
Pendahuluan

BAB 6 UML

0.1 Pengenalan UML

UML (Unified Modeling Language) merupakan pengganti dari metode analisis


berorientasi object dan design berorientasi object (O OA&D) yang dimunculkan
sekitar akhir tahun 80-an dan awal tahun 90-an.

UML merupakan gabungan dari metode Booch, Rumbaugh (OMT) dan Jacobson.
Tetapi UML ini akan mencakup lebih luas daripada OOA&D. Pada pertengahan
pengembangan UML dilakukan standarisasi proses dengan OMG (Object
Management Group) dengan harapan UML akan menjadi bahasa standar pemodelan
pada masa yang akan datang.

UML disebut sebagai bahasa pemodelan bukan metode. Kebanyakan metode terdiri
paling sedikit prinsip, bahasa pemodelan dan proses. Bahasa pemodelan (sebagian
besar grafik) merupakan notasi dari metode yang digunakan untuk mendesain secara
cepat.

Bahasa pemodelan merupakan bagian terpenting dari metode. Ini merupakan bagian
kunci tertentu untuk komunikasi. Jika anda ingin berdiskusi tentang desain dengan
seseorang, maka Anda hanya membutuhkan bahasa pemodelan bukan proses yang
digunakan untuk mendapatkan desain.

UML merupakan bahasa standar untuk penulisan blueprint software yang digunakan
untuk visualisasi, spesifikasi, pembentukan dan pendokumentasian alat-alat dari
sistem perangkat lunak.

0.2 Sejarah Singkat UML

UML dimulai secara resmi pada oktober 1994, ketika Rumbaugh bergabung dengan
Booch pada Relational Software Corporation. Proyek ini memfokuskan pada
penyatuan metode Booch dan OMT. UML versi 0.8 merupakan metode penyatuan
yang dirilis pada bulan Oktober 1995. Dalam waktu yang sama, Jacobson bergabung
dengan Relational dan cakupan dari UML semakin luas sampai diluar perusahaan
OOSE. Dokumentasi UML versi 0.9 akhirnya dirilis pada bulan Juni 1996. Meskipun
pada tahun 1996 ini melihat dan menerima feedback dari komunitas Software
Engineering . Dalam waktu tersebut, menjadi lebih jelas bahwa beberapa organisasi
perangkat lunak melihat UML sebagai strategi dari bisnisnya. Kemudian dibangunlah
UML Consortium dengan beberapa organisasi yang akan menyumbangkan sumber
dayanya untuk bekerja, mengembangkan, dan melengkapi UML.

Di sini beberapa partner yang berkontribusi pada UML 1.0, diantaranya Digital
Equipment Corporation, Hewlett-Packard, I-Logix, Intellicorp, IBM, ICON
Computing, MCI Systemhouse, Microsoft, Oracle, Relational, Texas Instruments dan
Unisys. Dari kolaborasi ini dihasilkan UML 1.0 yang merupakan bahasa pemodelan
yang ditetapkan secara baik, expressive, kuat, dan cocok untuk lingkungan masalah
yang luas. UML 1.0 ditawarkan menjadi standarisasi dari Object Management Group
(OMG). Dan pada Januari 1997 dijadikan sebagai standar bahasa pemodelan.

Page 75 of 120
Pendahuluan

Antara Januari–Juli 1997 gabungan group tersebut memperluas kontribusinya sebagai


hasil respon dari OMG dengan memasukkan Adersen Consulting, Ericsson,
ObjectTimeLimeted, Platinum Technology, Ptech, Reich Technologies, Softeam,
Sterling Software dan Taskon. Revisi dari versi UML (versi 1.1) ditawarkan kepada
OMG sebagai standarisasi pada bulan Juli 1997. Dan pada bulan September 1997,
versi ini dierima oleh OMG Analysis dan Design Task Force (ADTF) dan OMG
ArchitectureBoard. Dan Akhirnya pada Juli 1997 UML versi 1.1 menjadi standarisasi.

Pemeliharaan UML terus dipegang oleh OMG Revision Task Force (RTF) yang
dipimpin oleh Cris Kobryn. RTP merilis editorial dari UML 1.2 pada Juni 1998. Dan
pada tahun 1998 RTF juga merilis UML 1.3 disertai dengan user guide dan
memberikan technical cleanup.

0.3 Pengertian UML

0.3.1 Pengertian Unified Modeling Language (UML)


UML adalah bahasa untuk menspesifikasi, memvisualisasi, membangun dan
mendokumentasikan artifacts (bagian dari informasi yang digunakan atau dihasilkan
oleh proses pembuatan perangkat lunak, artifact tersebut dapat berupa model,
deskripsi atau perangkat lunak) dari sistem perangkat lunak, seperti pada pemodelan
bisnis dan sistem non perangkat lunak lainnya [HAN98]. Selain itu UML adalah
bahasa pemodelan yang menggunakan konsep orientasi object. UML dibuat oleh
Grady Booch , James Rumbaugh , dan Ivar Jacobson di bawah bendera Rational
Software Corp [HAN98]. UML menyediakan notasi-notasi yang membantu
memodelkan sistem dari berbagai perspektif. UML tidak hanya digunakan dalam
pemodelan perangkat lunak, namun hampir dalam semua bidang yang membutuhkan
pemodelan..

0.3.2 Bagian-bagian Dari UML


Bagian-bagian utama dari UML adalah view, diagram, model element, dan general
mechanism.

1. View
View digunakan untuk melihat sistem yang dimodelkan dari beberapa aspek yang
berbeda. View bukan melihat grafik, tapi merupakan suatu abstraksi yang berisi
sejumlah diagram.

Beberapa jenis view dalam UML antara lain: use case view, logical view, component
view, concurrency view, dan deployment view.

Ø Use case view


Mendeskripsikan fungsionalitas sistem yang seharusnya dilakukan sesuai yang
diinginkan external actors. Actor yang berinteraksi dengan sistem dapat berupa user
atau sistem lainnya.
View ini digambarkan dalam use case diagrams dan kadang-kadang dengan activity
diagrams.
View ini digunakan terutama untuk pelanggan, perancang (designer), pengembang
(developer), dan penguji sistem (tester).

Page 76 of 120
Pendahuluan

Ø Logical view
Mendeskripsikan bagaimana fungsionalitas dari sistem, struktur statis (class, object,
dan relationship ) dan kolaborasi dinamis yang terjadi ketika object mengirim pesan
ke object lain dalam suatu fungsi tertentu.
View ini digambarkan dalam class diagrams untuk struktur statis dan dalam state,
sequence, collaboration, dan activity diagram untuk model dinamisnya.
View ini digunakan untuk perancang (designer) dan pengembang (developer).

Ø Component view
Mendeskripsikan implementasi dan ketergantungan modul. Komponen yang
merupakan tipe lainnya dari code module diperlihatkan dengan struktur dan
ketergantungannya juga alokasi sumber daya komponen dan informasi administrative
lainnya.
View ini digambarkan dalam component view dan digunakan untuk pengembang
(developer).

Ø Concurrency view
Membagi sistem ke dalam proses dan prosesor.
View ini digambarkan dalam diagram dinamis (state, sequence, collaboration, dan
activity diagrams) dan diagram implementasi (component dan deployment diagrams)
serta digunakan untuk pengembang (developer), pengintegrasi (integrator), dan
penguji (tester).

Ø Deployment view
Mendeskripsikan fisik dari sistem seperti komputer dan perangkat (nodes) dan
bagaimana hubungannya dengan lainnya.
View ini digambarkan dalam deployment diagrams dan digunakan untuk pengembang
(developer), pengintegrasi (integrator), dan penguji (tester).

2. Diagram
Diagram berbentuk grafik yang menunjukkan simbol elemen model yang disusun
untuk mengilustrasikan bagian atau aspek tertentu dari sistem.
Sebuah diagram merupakan bagian dari suatu view tertentu dan ketika digambarkan
biasanya dialokasikan untuk view tertentu. Adapun jenis diagram antara lain :

Ø Use Case Diagram


Menggambarkan sejumlah external actors dan hubungannya ke use case yang
diberikan oleh sistem. Use case adalah deskripsi fungsi yang disediakan oleh sistem
dalam bentuk teks sebagai dokumentasi dari use case symbol namun dapat juga
dilakukan dalam activity diagrams.
Use case digambarkan hanya yang dilihat dari luar oleh actor (keadaan lingkungan
sistem yang dilihat user) dan bukan bagaimana fungsi yang ada di dalam sistem.

Ø Class Diagram
Menggambarkan struktur statis class di dalam sistem. Class merepresentasikan
sesuatu yang ditangani oleh sistem. Class dapat berhubungan dengan yang lain
melalui berbagai cara: associated (terhubung satu sama lain), dependent (satu class
tergantung/menggunakan class yang lain), specialed (satu class merupakan
spesialisasi dari class lainnya), atau package (grup bersama sebagai satu unit).
Sebuah sistem biasanya mempunyai beberapa class diagram.

Page 77 of 120
Pendahuluan

Ø State Diagram
Menggambarkan semua state (kondisi) yang dimiliki oleh suatu object dari suatu
class dan keadaan yang menyebabkan state berubah. Kejadian dapat berupa object
lain yang mengirim pesan.
State class tidak digambarkan untuk semua class, hanya yang mempunyai sejumlah
state yang terdefinisi dengan baik dan kondisi class berubah oleh state yang berbeda.

Ø Sequence Diagram
Menggambarkan kolaborasi dinamis antara sejumlah object. Kegunaanya untuk
menunjukkan rangkaian pesan yang dikirim antara object juga interaksi antara object,
sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem.

Ø Collaboration Diagram
Menggambarkan kolaborasi dinamis seperti sequence diagrams. Dalam menunjukkan
pertukaran pesan, collaboration diagrams menggambarkan object dan hubungannya
(mengacu ke konteks). Jika penekannya pada waktu atau urutan gunakan sequence
diagrams, tapi jika penekanannya pada konteks gunakan collaboration diagram.

Ø Activity Diagram
Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk mendeskripsikan
aktifitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk
aktifitas lainnya seperti use case atau interaksi.

Ø Component Diagram
Menggambarkan struktur fisik kode dari komponent. Komponent dapat berupa source
code, komponent biner, atau executable component. Sebuah komponent berisi
informasi tentang logic class atau class yang diimplementasikan sehingga membuat
pemetaan dari logical view ke component view.

Ø Deployment Diagram
Menggambarkan arsitektur fisik dari perangkat keras dan perangkat lunak sistem,
menunjukkan hubungan komputer dengan perangkat (nodes) satu sama lain dan jenis
hubungannya. Di dalam nodes, executeable component dan object yang dialokasikan
untuk memperlihatkan unit perangkat lunak yang dieksekusi oleh node tertentu dan
ketergantungan komponen.

0.3.3 Gambaran dari UML

¤ UML sebagai Bahasa Pemodelan


UML merupakan bahasa pemodelan yang memiliki pembendaharaan kata dan cara
untuk mempresentasikan secara fokus pada konseptual dan fisik dari suatu sistem.
Contoh untuk sistem software yang intensive membutuhkan bahasa yang
menunjukkan pandangan yang berbeda dari arsitektur sistem, ini sama seperti
menyusun/mengembangkan software development life cycle. Dengan UML akan
memberitahukan kita bagaimana untuk membuat dan membaca bentuk model yang
baik, tetapi UML tidak dapat memberitahukan model apa yang akan dibangun dan
kapan akan membangun model tersebut. Ini merupakan aturan dalam software
development process.

Page 78 of 120
Pendahuluan

¤ UML sebagai bahasa untuk Menggambarkan Sistem (Visualizing)


UML tidak hanya merupakan rangkaian simbol grafikal, cukup dengan tiap simbol
pada notasi UML merupakan penetapan semantik yang baik. Dengan cara ini, satu
pengembang dapat menulis model UML dan pengembang lain atau perangkat yang
sama lainnya dapat mengartikan bahwa model tersebut tidak ambigu. Hal ini akan
mengurangi error yang terjadi karena perbedaan bahasa dalam komunikasi model
konseptual dengan model lainnya.

UML menggambarkan model yang dapat dimengerti dan dipresentasikan ke dalam


model tekstual bahasa pemograman. Contohnya kita dapat menduga suatu model dari
sistem yang berbasis web tetapi tidak secara langsung dipegang dengan mempelajari
code dari sistem. Dengan model UML maka kita dapat memodelkan suatu sistem web
tersebut dan direpresentasikan ke bahasa pemrograman.

UML merupakan suatu model eksplisit yang menggambarkan komunikasi informasi


pada sistem. Sehingga kita tidak kehilangan informasi code implementasi yang hilang
dikarenakan developer memotong coding dari implementasi.

¤ UML sebagai bahasa untuk Menspesifikasikan Sistem (Specifying)


Maksudnya membangun model yang sesuai, tidak ambigu dan lengkap. Pada faktanya
UML menunjukan semua spesifikasi keputusan analisis, desain dan implementasi
yang penting yang harus dibuat pada saat pengembangan dan penyebaran dari sistem
software intensif.

¤ UML sebagai bahasa untuk Membangun Sistem (Constructing)


UML bukan bahasa pemograman visual, tetapi model UML dapat dikoneksikan
secara langsung pada bahasa pemograman visual.

Maksudnya membangun model yang dapat dimapping ke bahasa pemograman seperti


java, C++, VB atau tabel pada database relational atau penyimpanan tetap pada
database berorientasi object.

¤ UML sebagai bahasa untuk Pendokumentasian Sistem (Documenting)


Maksudnya UML menunjukan dokumentasi dari arsitektur sistem dan detail dari
semuanya.UML hanya memberikan bahasa untuk memperlihatkan permintaan dan
untuk tes. UML menyediakan bahasa untuk memodelkan aktifitas dari perencanaan
project dan manajemen pelepasan (release management).

0.3.4 Area Penggunaan UML


UML digunakan paling efektif pada domain seperti :
- Sistem Informasi Perusahaan
- Sistem Perbankan dan Perekonomian
- Bidang Telekomunikasi
- Bidang Transportasi
- Bidang Penerbangan
- Bidang Perdagangan
- Bidang Pelayanan Elekronik
- Bidang Pengetahuan
- Bidang Pelayanan Berbasis Web Terdistribusi

Page 79 of 120
Pendahuluan

Namun UML tidak terbatas untuk pemodelan software. Pada faktanya UML banyak
untuk memodelkan sistem non software seperti:
- Aliran kerja pada sistem perundangan.
- Struktur dan kelakuan dari Sistem Kepedulian Kesehatan Pasien
- Desain hardware dll.

0.3.5 Tujuan Penggunaan UML


1. Memodelkan suatu sistem (bukan hanya perangkat lunak) yang menggunakan
konsep be rorientasi object.
2. Menciptakan suatu bahasa pemodelan yang dapat digunakan baik oleh manusia
maupun mesin.

0.4 Bagaimana modul ini digunakan?


Modul ini tersusun atas teori mengenai UML, petunjuk pemakaian Rational Rose
untuk membuat diagram-diagram pada UML, contoh kasus ATM, jurnal praktikum
dan proyek UML.
1. Praktikan diharapkan mempersiapkan diri mempelajari dan memahami teori atau
konsep UML.
2. Pada setiap modul praktikan akan dibimbing untuk memakai Rational Rose
sebagai salah satu tools pemodelan UML.
3. Pada setiap modul, praktikan akan mengerjakan jurnal praktikum dimana
pertanyaan yang diajukan berasal dari studi kasus yang digunakan sebagai contoh
dalam setiap modul dan kasus khusus yang telah ditentukan.
4. Pada akhir praktikum, semua praktikan akan mempresentasikan proyek/tugas
besar praktikum berupa hasil rekayasa pengembangan perangkat lunak
menggunakan UML sampai dengan tahap design perangkat lunak.

Page 80 of 120
Use Case Diagram

Modul 1 Use Case Diagram

Tujuan Praktikum:
1. Praktikan mampu membuat sebuah skenario suatu sistem yang nantinya dapat
diimplementasikan menjadi sebuah perangkat lunak.
2. Praktikan bisa memahami alur dari setiap tahap yang digunakan dalam perancangan
perangkat lunak menggunakan UML.
3. Praktikan dapat memahami hubungan atara actor dengan use case diagram.
4. Praktikan mampu membuat use case diagram dari skenario yang telah ada.

Kelakuan Sistem :
1. Kebutuhan sistem adalah fungsionalitas apa yang mesti disediakan oleh sistem, apakah
didokumentasikan pada model use case yang menggambarkan fungsi sistem yang
diharapkan (use case), yang mengelilinginya (actor) dan hubungan antara actor dengan
use case (use case diagram).
2. Use case model dimulai pada tahap inception dengan mengidentifikasi actor dan use case
utama pada sistem. Kemudian model ini diolah lebih matang di tahap elaboration untuk
memperoleh lebih detail informasi yang ditambahkan pada use case.

Komponen-komponen yang terlibat dalam use case diagram :

1.1 Actor
Pada dasarnya actor bukanlah bagian dari use case diagram, namun untuk dapat
terciptanya suatu use case diagram diperlukan beberapa actor dimana actor tersebut
mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang
berinteraksi dengan sistem. Sebuah actor mungkin hanya memberikan informasi
inputan pada sistem, hanya menerima informasi dari sistem atau keduanya menerima
dan memberi informasi pada sistem, actor hanya berinteraksi dengan use case tetapi
tidak memiliki kontrol atas use case. Actor digambarkan dengan stick man .

Actor dapat digambarkan secara secara umum atau spesifik, dimana untuk
membedaka nnya kita dapat menggunakan relationship
Contoh :

Customer

Commercial
Customer

Gambar 1.1 Actor


Ada beberapa kemungkinan yang menyebabkan actor tersebut terkait dengan sistem
antara lain:
q Yang berkepentingan terhadap sistem dimana adanya arus informasi baik yang
diterimanya maupun yang dia inputkan ke sistem.
q Orang ataupun pihak yang akan mengelola sistem tersebut.
q External resource yang digunakan oleh sistem.
q Sistem lain yang berinteraksi dengan sistem yang akan dibuat.

Page 81 of 120
Use Case Diagram

Membuat actor pada Rasional Rose 2000


a. Klik pada Use Case View package di browser.
b. Pilih New:Actor pada menu option . Sebuah actor baru bernama New class
ditempatkan di browser.
c. Pilih actor New class, lalu masukkan nama yg diinginkan untuk actor tesebut

Mendokumentasikan actors
a. Jika documentation window belum terlihat, buka dengan memilih Documentation
menu dari View menu.
b. Klik untuk memilih Actor di browser.
c. Tempatkan cursor di documentation window, lalu ketikkan dokumentasi yang
diinginkan.

1.2 Use Case


Use case adalah gambaran fungsionalitas dari suatu sistem, sehingga customer atau
pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan
dibangun.
Catatan:
Use case diagram adalah penggambaran sistem dari sudut pandang pengguna
sistem tersebut (user), sehingga pembuatan use case lebih dititikberatkan pada
fungsionalitas yang ada pada sistem, bukan berdasarkan alur atau urutan kejadian.

Cara menentukan Use Case dalam suatu sistem:


q Pola perilaku perangkat lunak aplikasi.
q Gambaran tugas dari sebuah actor.
q Sistem atau “benda” yang memberikan sesuatu yang bernilai kepada actor.
q Apa yang dikerjakan oleh suatu perangkat lunak (* bukan bagaimana cara
mengerjakannya.).

UseCase

Gambar 1.2 UseCase

Membuat Use Cases


1. Klik kanan Use Cases View pada browser.
2. Pada menu option pilih New:Use Case. Sebuah Use Case ditempatkan pada
browser.
3. Klik Use Case tersebut, lalu masukkan nama yang diinginkan.

Membuat Use Case Diagram Utama


1. Klik kanan Main diagram pada Use Case View di browser untuk membuka
diagram.
2. Klik actor di browser dan tarik actor ke dalam diagram.
3. Ulangi langkah 2 untuk menambahkan actor yang diperlukan dalam diagram.
4. Klik untuk memilih sebuah use case di browser dan tarik use case ke dalam
diagram.
5. Ulangi langkah 4 untuk menambahkan use case yang diperlukan dalam diagram.

Page 82 of 120
Use Case Diagram

Catatan : actor dan use cases dapat juga langsung diciptakan dalam sebuah use case
diagram dengan menggunakan toolbar.

1.3 Relasi dalam Use Case


Ada beberapa relasi yang terdapat pada use case diagram:
1. Association, menghubungkan link antar element.
2. Generalization, disebut juga inheritance (pewarisan), sebuah elemen dapat
merupakan spesialisasi dari elemen lainnya.
3. Dependency, sebuah element bergantung dalam beberapa cara ke element lainnya.
4. Aggregation, bentuk assosiation dimana sebuah elemen berisi elemen lainnya.

Tipe relasi/ stereotype yang mungkin terjadi pada use case diagram:
1. <<include>> , yaitu kelakuan yang harus terpenuhi agar sebuah event dapat
terjadi, dimana pada kondisi ini sebuah use case adalah bagian dari use case
lainnya.
2. <<extends>>, kelakuan yang hanya berjalan di bawah kondisi tertentu seperti
menggerakkan alarm.
3. <<communicates>>, mungkin ditambahkan untuk asosiasi yang menunjukkan
asosiasinya adalah communicates association . Ini merupakan pilihan selama
asociasi hanya tipe ralationship yang dibolehkan antara actor dan use case.

1.4 Use Case Diagram


Adalah gambaran graphical dari beberapa atau semua actor, use case, dan interaksi
diantaranya yang memperkenalkan suatu sistem.

Berikut ini adalah contoh dari sebuah studi kasus yang menagani Aplikasi pada
sebuah ATM dengan skenario sbb:

Sebuah bank mengoperasikan ATM dan mengelola banyak tabungan, setiap nasabah
memiliki setidaknya satu rekening tabungan pada satu bank tertentu. Setiap
tabungan dapat diakses melalui kartu debit. Proses utama sistem ATM
berkomunikasi dengan pusat komputer dan didesain untuk menangani beberapa
transaksi. Setiap transaksi menunjuk sebuah tabungan tertentu. Suatu transaksi akan
menghasilkan satu dari dua hal berikut: transaksi diterima atau mengeluarkan pesan
penolakan transaksi".

Untuk melakukan sebuah transaksi akan melalui dua tahap: pengecekan tabungan
dan pemroses transaksi. Proses pengecekan tabungan akan menetapkan persetujuan
untuk proses transaksi. Jika persetujuan ditolak, ATM akan mengeluarkan pesan
penolakan, namun jika diterima, transaksi akan diproses de ngan menggunakan
nomor rekening tabungan dan ATM membaca dari kartu debit.

Pengecekan tabungan dilakukan bersamaan pada saat ATM memvalidasi kartu debit
dari bank yang bersangkutan. Jika kartu valid, password akan dicek dengan nasabah.

Page 83 of 120
Use Case Diagram

Authenticate User

Withdrawal
User Bank

Transfer
Gambar 1.3 Use Case Diagram Studi Kasus ATM

Untuk memudahkan kita dalam menganalisa skenario yang akan kita gunakan pada fase-fase
selanjutnya maka kita dapat melakukan pemilahan terhadap skenario tersebut, antara lain:

Skenario use case

Nama use case : Authenticate user


Actor : User, bank
Type : Primary
Tujuan : verifikasi user

ACTOR SISTEM
1. User memasukkan kartu debit
2. ATM meminta PIN dari user
3. User memasukkan PIN dan
menekan OK
4. ATM memverifikasi dengan Bank
bahwa kartu dan PIN adalah legal
dari Rekening yang benar
5. ATM meminta jenis transaksi

Nama use case : Withdrawal


Actors : User, bank
Type : Primary
Tujuan : Penarikan uang secara cash
Deskripsi : User datang ke ATM dengan kartu debit untuk melakukan penarikan tunai.
User memasukkan kartu ke ATM. ATM meminta user untuk memasukkan
PIN. User memasukkan PIN dan sistem mengotorisasi penarikan tunai. ATM
mengeluarkan uang dan mengeluarkan nota. ATM mengirim transaction
record ke bank untuk meng-update saldo tabungan. Setelah selesai, user
meninggalkan ATM dengan membawa uang dan nota tadi.

Praktikum Rekayasa Perangkat Lunak 1-4

Page 84 of 120
Use Case Diagram

ACTOR SISTEM
1. User memilih menu withdrawal
2. ATM meminta jumlah uang yang
akan ditarik
3. User memasukkan jumlah uang
yang akan ditarik
4. ATM mencek jumlah uang yang
akan ditarik dengan saldo
minimal yang diperbolehkan pada
bank tersebut.
5. Update saldo
6. ATM mengeluarkan uang
7. ATM mencetak nota dan
mengeluarkan kartu

Page 85 of 120
Use Case Diagram

Jurnal Modul 1

1. Evaluasi use case yang digunakan pada studi kasus pada modul 1. Jika dirasakan
perlu, modifikasi use case diagram Sistem ATM.
2. Buatlah use case diagram dari kasus dibawah. Catatan: kasus di bawah akan
digunakan pada semua modul pada praktikum ini (modul 1 – modul 6)
Nama Kasus : SISTEM PENJUALAN ITEM SUPERMARKET
Deskripsi :
Studi kasus ini mengembangkan desain sistem penjualan item pada suatu
supermarket. Sistem ini menangani sistem pemrosesan tersebar.

Business Rules
• Item adalah barang yang dijual di supermarket dan harus terdaftar di dalam
sistem.
• Kasir menjual item kepada pembeli. Terdapat 2 jenis kasir, yaitu kasir biasa dan
kasir express. Kasir express hanya melayani penjualan max 5 item.
• Sistem menangani penjualan item, pemasokan barang, penukaran item.
• Pada penukaran item, item yang ditukarkan diusahakan merupakan item yang
sama, namun jika supplier tidak menyediakan lagi maka dapat ditukarkan dengan
item yang lain seharga item yang kadaluarsa atau sesuai dengan perjanjian.

Use case analysis


• Menjual item
• Memasok item
• Menukarkan item (ke suplier)

Use case model


Skenario Penjualan Item
• Sebuah kode item diidentifikasikan
• Perhitungan total harga item yang dibeli
• Kasir menjual item
• Update persediaan item dan pendapatan supermarket
Skenario Pemasokan Item
• Pemeriksaan jumlah item pada gudang
• Item yang kurang diidentifikasikan
• Lakukan pembelian item ya ng kurang pada supplier
• Update persediaan item dan pendapatan
Skenario Pengembalian Item
• Pemeriksaan status kadaluarsa item
• Penukaran item kepada supplier
• Update item dan status kadaluarsa item yang baru (setelah ditukarkan)

Page 86 of 120
Candidat Class & Interaction Diagram

Modul 2 Candidate Class & Interaction Diagram

Tujuan Praktikum:
1. Praktikan dapat menentukan candidate class dari skenario yang telah ada.
2. Praktikan dapat menggambarkan interaction diagram baik dengan sequence maupun
collaboration diagram.
3. Praktikan dapat membedakan antara sequence dengan colla boration diagram dan
mengunakannya dalam perancangan perangkat lunak dengan UML.

2.1 Class Diagram

2.1.1 Definisi Object dan Class


Object adalah gambaran dari entity, baik dunia nyata atau konsep dengan batasan-
batasan dan pengertian yang tepat. Object bisa mewakili sesuatu yang nyata seperti
komputer, mobil atau dapat berupa konsep seperti proses kimia, transaksi bank,
permintaan pembelian, dll. Setiap object dalam sistem memiliki tiga karakteristik
yaitu State (status), Behaviour (sifat) dan Indentity (identitas).

Cara mengidentifikasi object:


1. pengelompokan berdasarkan kata/frase benda pada skenario.
2. berdasarkan daftar kategori object, antara lain:
• object fisik, contoh:pesawat telepon
• spesifikasi/rancangan/deskripsi, contoh: deskripsi pesawat
• tempat, contoh:gudang
• transaksi, contoh: penjualan
• butir yang terlibat pada transaksi, contoh: barang jualan
• peran, contoh :pelanggan
• wadah, contoh : pesawat terbang
• piranti, contoh:PABX
• kata benda abstrak, contoh: kecanduan
• kejadian, contoh:pendaratan
• aturan atau kebijakan, contoh:aturan diskon
• catalog atau rujukan, contoh: daftar pelanggan

Class adalah deskripsi sekelompok object dari property (atribut), sifat (operasi),
relasi antar object dan sematik yang umum. Class merupakan template untuk
membentuk object. Setiap object merupakan contoh dari beberapa class dan object
tidak dapat menjadi contoh lebih dari satu class.

Penamaan class menggunakan kata benda tunggal yang merupakan abstraksi yang
terbaik.

Pada UML, class digambarkan dengan segi empat yang dibagi. Bagian atas
merupakan nama dari class. Bagian yang tengah merupakan struktur dari class
(atribut) dan bagian bawah merupakan sifat dari class (operasi).

Page 87 of 120
Candidat Class & Interaction Diagram

Customer

name
address

CreditRating():String

Gambar 2.1 Class

Dari skenario pada modul 1 untuk studi kasus pada ATM, kita dapat mendefenisikan
candidate class, dimana candidate class secara kasar dapat diambil dari kata benda
yang ada, atau sesuai dengan apa yang telah dijelaskan diatas.

Candidate Class
No Kategori Object Nama Object Perlu/tidak
1. Object Fisik ATM (Mesin), ATM card Perlu
2. Transaksi Withdrawal, Transfer Perlu
3. Butir yang terlibat pada ………. ……….
transaksi
4. Peran User(Pemegang ATMCard) Perlu
Bank Perlu
5. Piranti ATM Perlu
Komputer Tidak perlu
6. Proses Withdrawal Perlu
Update Tidak perlu
7. Katalog Daftar Account Perlu

ATM
ATM Card

User Transfer

BANK
Withdrawal

Gambar 2.2 Candidate Class

Untuk memahami Class lebih lanjut akan kita bahas pada modul 3.

Page 88 of 120
Candidat Class & Interaction Diagram

2.2 Interaction Diagram

2.2.1 Use Case Realization


Fungsionalitas use case direpresentasikan dengan aliran peristiwa-peristiwa. Skenario
digunakan untuk menggambarkan bagaimana use case-use case direalisasikan sebagai
interaksi antara object-object.

Use case realization menggambarkan bagaimana realisasi dari setiap use case yang
ada pada use case model. Untuk menggambarkan bagaimana realisasi dari suatu use
case dapat menggunakan beberapa diagram, diantaranya adalah Class Diagram
owned by Use Case Realization serta Interaction Diagram.

Interaction Diagram merupakan model yang menjelaskan bagaimana sejumlah


object bekerja sama dalam beberapa kelakuan. Interaction Diagram menerangkan
kela kuan dari suatu use case. Diagram ini menggambarkan sejumlah object dan pesan
yang dijalankan antara object dengan use case.

Ketika kita memberikan pesan, aksi yang dihasilkan adalah sebuah pernyataan
tereksekusi yang membentuk abstraksi dari prosedur komputasi. Sebuah aksi mungkin
menghasilkan perubahan kondisi.

Dalam UML, kita dapat memodelkan beberapa jenis aksi, yaitu:


• Call : memanggil operasi yang ada pada object, object mungkin mengirim
ke dirinya sendiri, menghasilkan pemanggilan lokal dari operasi.
• Return : mengembalikan nilai dari caller
• Send : mengirimkan sinyal ke object
• Create : membuat sebuah object
• Destroy : mematikan sebuah object, object mungkin saja mematikan dirinya
sendiri.

Interaction diagram digunakan ketika kita ingin melihat kelakuan dari beberapa
object dalam use case tunggal. Diagram ini baik saat menunjukkan kolaborasi
diantara object-object, namun kurang baik dalam mendefinisikan behavior.

Ada dua macam Interaction Diagram yaitu : Sequence Diagram dan Collaboration
Diagram.

2.2.2 Sequence Diagram


Sequence Diagram menggambarkan interaksi antara sejumlah object dalam urutan
waktu. Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim antara object
juga interaksi antar object yang terjadi pada titik tertentu dalam eksekusi sistem.

Dalam UML, object pada diagram sequence digambarkan dengan segi empat yang
berisi nama dari object yang digarisbawahi. Pada object terdapat 3 cara untuk
menamainya yaitu : nama object, nama object dan class serta nama class.

Page 89 of 120
Candidat Class & Interaction Diagram

Contoh :
BNI Nama Object

BNI: BANK Nama Object dan Class

: BANK Nama Class


Gambar 2.3 Penamaan Object

Dalam diagram sequence, setiap object hanya memiliki garis yang digambarkan garis
putus-putus ke bawah. Pesan antar object digambarkan dengan anak panah dari object
yang mengirimkan pesan ke object yang menerima pesan.

Membuat sequence diagram


1. Klik kanan use case pada browser.
2. Pilih New, Sequence pada menu bar. Sebuah sequence diagram ditambahkan
ke browser.
3. Ketika sequence diagram masih disorot, masukkan nama untuk sequence diagram
tersebut.

Membuat Objects dan Messages dalam Sequence Diagram


1. Klik ganda sequence diagram pada browser.
2. Klik actor pada browser.
3. Tarik actor ke dalam sequence diagram.
4. Klik object icon pada toolbar.
5. Klik sequence diagram window untuk menempatkan object.
6. Ketika object masih disorot, masukkan nama object.
7. Ulangi langkah selanjutnya jika masih ingin memasukkan object dan actor.
8. Klik object message icon dari toolbar.
9. Klik actor atau object sending message lalu tarik garis message ke actor atau
object yang menerima message.
10. Ketika message masih disorot, masukkan nama ke dalam message tersebut.

Memasukkan objects ke dalam sebuah sequence diagram kedalam classes


1. Klik class ke browser.
2. Tarik class ke dalam object pada sequence diagram. Rose akan menambahkan
nama class diawali dengan a: ke dalam nama object. Jika object belum
mempunyai nama, maka nama diset menjadi :class-name.

Page 90 of 120
Candidat Class & Interaction Diagram

: ATM : ATMCard

: User

RequestCard( )

InsertCard( )

VerifyCard( )

CardOK( )

RequestPIN( )

EnterPIN( )

VerifyPIN( )

PIN OK( )

Gambar 2.4 Sequence Diagram for Authenticate User’s ATM

: ATM : Withdrawal : Saving


Transaction Account
: User
Amount( )

EnterAmount( )
<<Create>>
CheckForSufficientFunds( )

DebitSaldo( )

Authorized( )
Setcash( )
DispenceCash( )

PrintReceipt( )

Gambar 2.5 Sequence Diagram for Withdrawal Transaction in ATM

Page 91 of 120
Candidat Class & Interaction Diagram

2.2.3 Collaboration Diagram


Collaboration Diagram merupakan cara alternatif untuk menggambarkan skenario
dari sistem. Diagram ini menggambarkan interaksi object yang diatur object
sekelilingnya dan hubungan antara setiap object dengan object yang lainnya.

Collaboration diagram berisi :


- Object yang digambarkan dengan segiempat.
- Hubungan antara object yang digambarkan dengan garis penghubung.
- Pesan yang digambarkan dengan teks dan panah dari object yang mengirim pesan
ke penerima pesan.

Membuat Collaboration diagram dari Sequence diagram


1. Klik ganda sequence diagram pada browser.
2. Pilih Browse, Create Collaboration Diagram, atau tekan F5.
3. Atur objects dan messages pada diagram seperlunya.

2: InsertCard( )
6: EnterPIN( )

: ATM

1: RequestCard( )
: User 5: RequestPIN( )

3: VerifyCard( )
4 : C a r d O K ( 7): V e r i f y P I N ( )
8: PIN OK( )

: ATMCard

Gambar 2.6 Collaboration Diagram Use Case Authenticate User

Page 92 of 120
Candidat Class & Interaction Diagram

2: EnterAmount( )

: ATM

1: Amount( )
: User 8: DispenceCash( )
9: PrintReceipt( )

7 : S e t c a s h ( 3): < < C r e a t e > >


5: DebitSaldo( )

6: Authorized( )

: Saving : Withdrawal
Account Transaction
4: CheckForSufficientFunds( )

Gambar 2.7 Collaboration Diagram Use Case Withdrawal

2.2.4 Perbedaan Sequence Diagram dengan Collaboration Diagram


Sequence Diagram memberikan cara untuk melihat skenario dari sistem berdasarkan
waktu (apa yang terjadi pertama kali, apa yang terjadi selanjutnya). User akan lebih
mudah membaca dan mengerti tipe diagram ini. Karenanya, sangat berguna pada fase
analisis awal.

Sedangkan Collaboration Diagram cenderung untuk memberikan gambaran besar


dari skenario selama kolaborasi disusun dari object sekelilingnya dan hubungan antar
object yang satu dengan lainnya. Diagram ini akan nampak digunakan pada
pengembangan taha p desain ketika kita merancang implementasi dari hubungan.

Jurnal Modul 2
.
1. Buatlah sequence diagram dan collaboration diagram yang berasal dari use case
Transfer pada Sistem ATM. Tambahkan candidate class apabila dianggap perlu.
2. Carilah sequence diagram dan collaboration diagram yang berasal dari use case-
use case pada SISTEM PENJUALAN ITEM SUPERMARKET. Lakukan
perubahan yang dianggap perlu pada diagram-diagram sebelumnya.

Page 93 of 120
Class Diagram

Modul 3 Class Diagram


Tujuan Praktikum:
1. Praktikan dapat menggambarkan class diagram dari candidate class yang telah ada.
2. Praktikan bisa memberikan atribut dan operasi pada masing-masing class yang
didefenisikan.
3. Praktikan dapat menggambarkan relasi antar class dan tipe -tipenya.

Pada modul sebelumnya kita sudah mengupas sedikit tentang object dan candidate class, dan
pada modul ini kita akan membahas lebih dalam tentang bagaimana suatu class dapat
dibentuk, hubungan anatar class beberapa class turunan.

3.1 Status( State ), Behaviour dan Identify


Status dari object adalah satu kondisi yang mungkin ada. Status dari object akan
berubah setiap waktu dan ditentukan oleh sejumlah property (atribut) dengan nilai
dari properti, ditambah relasi object dengan object lainnya.

Sifat (Behaviour) menentukan bagaimana object merespon permintaan dari object


lain dan melambangkan setiap object yang dapat dilakukan. Sifat ini
diimplementasikan dengan sejumlah operasi untuk object.

Identitas (Identify) artinya setiap object yang unik Pada UML, object digambarkan
dengan segiempat dan nama dari object diberi garis bawah.

Mahasiswa
Gambar 3.1 Object

Mendefinisikan Class
Seperti telah dijelaskan sebelumnya, stereotypes memberikan kemampuan untuk
membuat elemen pemodelan yang baru. Beberapa stereotype untuk class adalah
entity, boundary, control, utility dan exception.

Membuat class
1. Klik kanan Logical View pada browser.
2. Pada menu bar pilih New, Class. Sebuah class bernama New Class ditempatkan
pada browser.
3. Ketika new class masih tersorot, masukkan nama class yang diinginkan.

Class dengan stereotypes digambarkan dengan menambahkan <<jenis_stereotype>>


atau dengan menggambarkan dengan suatu icon.

Contoh :
<<entity>>
Informasi Mahasiswa

Gambar 3.2 Class dengan stereotype

Page 94 of 120
Class Diagram

Rational Objectory Process menyarankan untuk menemukan class-class dalam sistem


yang sedang dibangun dengan mencari class : boundary, control dan entity. Ketiga
stereotypes ini menggambarkan sebuah sudut pandang model-view-controller
sehingga membuat analis dapat membagi sistem dengan memisahkan sudut pandang
dari domain dari control yang dibutuhkan oleh sistem.

Karena proses analisa dan desain adalah iterasi, daftar class akan berubah sesuai
waktu. Class awal mungkin tidak akan menjadi class yang akan diimplementasikan.
Sehingga candidate class sering digunakan untuk menggambarkan himpunan awal
dari class yang ditemukan pada sistem.

Untuk merancang class diagram, Rational Unified Process yang merupakan hasil
pengembangan dari Rational Objectory Process menggunakan use case realization
yang menggambarkan bagaimana realisasi dari setiap use case yang ada pada use ca se
model. Untuk menggambarkan bagaimana realisasi dari suatu use case dapat
menggunakan beberapa diagram, diantaranya adalah Class Diagram owned by Use
Case Realization serta Interaction Diagram.

Untuk menggambarkan use case realization di sini akan menggunakan class diagram
owned by use case realization. Setiap use case yang ada di-breakdown sehingga akan
dapat terlihat entitas-entitas apa saja yang terlibat dalam merealisasikan sebuah use
case. Entitas-entitas ini akan menjadi candidate class dalam Class Diagram.

Membuat stereotype untuk class


1. Klik kanan class pada browser.
2. Pilih Specification menu.
3. Pilih General tab.
4. Masukkan nama stereotype.
5. Klik tombol OK.

Page 95 of 120
Class Diagram

3.2 Attribut dan Operasi pada Class

3.2.1 Attribut
Attribut adalah salah satu property yang dimiliki oleh class yang menggambarkan
batasan dari nilai yang dapat dimiliki oleh property tersebut. Sebuah class mungkin
memiliki beberapa atribut atau tidak memilikinya sama sekali. Sebuah atribut
merepresentasikan beberapa property dari sesuatu yang kita modelkan, yang dibagi
dengan semua object dari semua class yang ada. Contohnya, setiap tembok memiliki
tinggi, lebar dan ketebalan. Atribut dalam implementasinya akan digambarkan
sebagai sebuah daftar (list) yang diletakkan pada kotak dibawah nama class. Ia seperti
halnya nama class merupakan teks. Biasanya huruf pertama dari tiap kata merupakan
huruf kapital, terkecuali untuk huruf awal. Sebagai contohnya : birthDate.
Customer
-name
-address
-birthDate

Gambar 3.3 contoh attribut dari class

Untuk lebih lanjut kita pun bisa menspesifikasikan atribut beserta jenis data yang kita
gunakan untuk atribut tersebut.

Wall
-Tinggi : float
-Lebar : float
-Tebal : float
-Kualitas : bool

Gambar 3.4 Contoh lain dari attribut

3.2.2 Operasi
Sebuah operasi adalah sebuah implementasi dari layanan yang dapat diminta dari
beberapa object dari class , yang mempengaruhi behaviour. Dengan kata lain operasi
adalah abstraksi dari segala sesuatu yang dapat kita lakukan pada sebuah object dan ia
berlaku untuk semua object yang terdapat dalam class tersebut. Class mungkin
memiliki beberapa operasi atau tanpa operasi sama sekali.contohnya adalah sebuah
class “kotak” dapat dipindahkan, diperbesar atau diperkecil. Biasanya (namun tidak
selalu), memanggil operasi pada sebuah object akan mengubah data atau kondisi dari
object tersebut. Operasi ini dalam implementasinya digambarkan dibawah atribut dari
sebuah class.
Kotak

+Pindah()
+Perbesar()
+Perkecil()
Gambar 3.5 Contoh dari operasi.

Page 96 of 120
Class Diagram

Untuk lebih lanjut kita pun bisa menspesifikasikan semua parameter yang terlibat
dalam operasi tersebut.

sensorPanas
reset()
setAlarm(t:temperature)
value():temperature
Gambar 3.6 contoh lain dari operasi.

3.2.3 Pengorganisasian attribut dan operasi.


Ketika menggambarkan sebuah class kita tidak perlu menampilkan seluruh atribut
atau operasi. Karena dalam sebagian besar kasus kita tidak dapat menampilkannya
dalam sebuah gambar, karena telalu banyaknya atribut atau operasinya bahkan
terkadang tidak perlu karena kurang relevannya atribut atau operasi tersebut untuk
ditampilkan. Sehingga kita dapat menampilkan hanya sebagian atau bahkan tidak
sama sekali atribut dan operasinya.

Kosongnya kotak tempat pengisian bukan berarti tidak ada. Karena itu kita dapat
menambahkan tanda (“…”) pada akhir daftar yang menunjukkan bahwa masih ada
atribut atau operasi yang lain.

3.3 Relasi dalam Object


Semua sistem terdiri dari class-class dan object. Kelakuan sistem dicapai mela lui
kerjasama antar object, contohnya seorang mahasiswa ditambahkan dalam daftar
class, jika daftar class memperoleh message untuk menambahkan mahasiswa.
Interaksi antar object disebut object relationship. Dua tipe relationship yang
ditemukan pada saat analisis adalah association dan aggregation.
3.3.1 Association Relationships
Association adalah hubungan semantik bidirectional diantara class-class. Ini bukan
aliran data sebagaimana pada pemodelan desain dan analisa terstruktur, data
diperbolehkan mengalir dari kedua arah. Asosiasi diantara class-class artinya ada
hubungan antara object-object pada class-class yang berhubungan. Banyaknya object
yang terhubung tergantung dengan multiplicity pada asosiasi, yang akan dibahas nanti.
person company

Gambar 3.7 Relasi association

Membuat Association Relationship


1. Klik association icon dari toolbar.
2. Klik satu dari class association pada class diagram.
3. Tarik garis associaton kepada class yang ingin dihubungkan.

Page 97 of 120
Class Diagram

3.3.2 Aggregation Relationships


Aggregation relationships adalah bentuk khusus dari asosiasi dimana induk terhubung
dengan bagian-bagiannya. Notasi UML untuk relasi agregasi adalah sebuah asosiasi
dengan diamond putih melekat pada class yang menyatakan induk. Contoh, Course
Tugas Akhir terdiri atas CourseOffering Tugas Akhir 1 dan CourseO ffering Tugas
Akhir 2.

Company Department

Gambar 3.8 Relasi Aggregation

Pertanyaan-pertanyaan di bawah dapat digunakan untuk menentukan apakah asosiasi


seharusnya menjadi agregasi:
1. Apakah klausa has-a ( “bagian dari” ) digunakan untuk menggambarkan relasi?
2. Apakah beberapa operasi di induk secara otomatis dapat dipakai pada bagian-
bagiannya? Sebagai contoh, delete sebuah course, maka akan men-delete course
offering -nya.

3.3.3 Membuat Aggregation Relationship


1. Klik aggregation icon dari toolbar.
2. Klik class yang bertindak sebagai “part” dalam class diagram, lalu tarik garis
aggregation ke class yang bertindak sebagai “whole”.

3.3.4 Penamaan Relationship


Sebuah asosiasi dapat diberi nama. Biasanya digunakan kata kerja aktif atau klausa
kata kerja dengan cara pembacaan dari kiri ke kanan atau atas ke bawah. Agregasi
tidak diberi nama karena agregasi menggunakan kata “mempunyai” atau “terdiri”.

Memberi nama pada relationship


1. Klik garis relationship pada class diagram.
2. Masukkan nama relationship.
Quiz : Apa beda antara penamaan relationship denga n role?

3.3.5 Indikator Multiplicity


Walaupun multiplicity ditentukan untuk class, multiplicity menentukan banyaknya
object yang terlibat dalam relasi. Multiplicity menentukan banyaknya object yang
terhubung satu dengan yang lainnya. Indikator multiplicity terdapat pada masing-
masing akhir garis relasi, baik pada asosiasi maupun agregasi. Beberapa contoh
multiplicity adalah :
1 Tepat satu
0..* Nol atau lebih
1..* Satu atau lebih
0..1 Nol atau satu
5..8 range 5 s.d. 8
4..6,9 range 4 s.d. 6 dan 9

Page 98 of 120
Class Diagram

Membuat multiplicity
1. Klik ganda garis relationship untuk membuat specification terlihat.
2. Pilih tab detail untuk role yang akan dimodifikasi (Role A Detail atau Role B
Detail).
3. Masukkan multiplicity yang diinginkan

Nasabah Bank
1..* 1

Gambar 3.9 Multiplici ty

• Sebuah object Nasabah berelasi dengan tepat satu object Bank, misal :
Irma berelasi dengan Bank Dana.
• Sebuah object Bank berelasi dengan satu atau tak hingga nasabah. Misal :
Bank Dana berelasi dengan Irma, Ilham, Norman, dsb.

3.3.6 Reflexive Relationships


Multiple object pada class yang sama dapat saling berkomunikasi satu dengan yang
lainnya. Hal ini ditunjukkan pada class diagram sebagai reflexive association atau
aggregation . Penamaan role lebih disukai untuk digunakan pada reflexive
relationships daripa da penamaan association relationship.

Membuat Reflexive Relationship


1. Klik association (atau aggregation) icon di toolbar.
2. Klik class dan tarik garis association keluar class.
3. Lepaskan tombol mouse.
4. Klik dan tarik garis association kembali ke class.
5. Masukkan nama role dan multiplicity untuk tiap akhir dari Reflexive Association.

Pegawai

mengatur

1..*

pra syarat MK ditawarkan

0..*
0..*

Gambar 3.10 Relasi Reflexive

Page 99 of 120
Class Diagram

Menemukan Relationships
Untuk menemukan relationships class-class yang ada dapat dilakukan dengan
memeriksa skenario dan pertukaran message diantara class-class yang ada. Pada
tahap analisa, dua relationship yang ditemukan adalah asosiasi dan agregasi.
Dikarenakan metode yang digunakan merupakan iterative maka relationship akan
berubah seiring dengan fase analisis dan desain.

Menambahkan Behavior dan Struktur ( Atribut )


Perhatian: salah satu metode untuk mengetahui behavior pada class adalah
dengan memetakan message pada interaction diagram (Modul 2) menjadi operasi
pada class tujuan! Baca juga Membuat Class pada pembahasan sebelumnya pada
modul ini (Modul 2).

Sebuah class mempunyai sekumpulan kewajiban yang menentukan kelakukan


object-object dalam class. Kewajiban ini diwujudkan dalam operasi-operasi yang
didefinisikan untuk class tersebut. Struktur dari suatu class didefinisikan oleh
atribut-atribut class tersebut. Setiap atribut adalah definisi data yang pada object
dalam class nya. Object yang didefinisikan dalam class mempunyai sebuah nilai
untuk setiap atribut dalam class.
Message dalam interaction diagram (Modul 2), pada umumnya dipetakan
menjadi operasi pada class tujuan. Namun ada beberapa kasus dimana message
tidak menjadi operasi, antara lain message dari atau menuju actor yang
merepresentasikan orang/individu dan message menuju boundary class yang
merepresentasikan class GUI. Namun jika actor merepresentasikan external entity
maka message dari atau menuju actor dapat menjadi operasi pada class.
Quiz : Bagaimana membedakan antara actor sebagai orang/individu dengan
external entity .
Operasi dapat juga dibuat tanpa tergantung (independen) dari interaction
diagram (Modul 2), karena tidak semua skenario direpresentasikan dalam diagram.
Hal yang sama juga berlaku untuk operasi yang dibuat dengan tujuan untuk
membantu operasi lain.
Kebanyakan dari atribut dari sebuah cla ss ditemukan pada definisi masalah,
kebutuhan perangkat lunak dan aliran dokumentasi kejadian. Atribut juga dapat
ditemukan ketika mendefinisikan sebuah class.
Sebuah relationship mungkin juga dapat memiliki struktur dan behavior, hal
ini terjadi jika informasi berhubungan dengan sebuah link di antara dua object dan
bukan dengan salah satu object diantaranya. Struktur dan behavior dalam sebuah
relationship disimpan dalam class association.

Memetakan messages kedalam Operasi baru


1. Masukkan object kedalam class jika belum dilakukan.
2. Klik kanan panah message.
3. Pilih <new operation >. Akan terbuka jendela Operation Specification.
4. Masukkan nama operasi di Operation Specification.
5. Klik tombol OK untuk menutup Operation Specification.
6. Klik kanan panah message.
7. Pilih operation dari list operation untuk class tersebut.
Note : jika operasi yang dinginkan telah tersedia, anda hanya perlu memilih operation
dari daftar operation untuk class tersebut.

Page 100 of 120


Class Diagram

Membuat operation
1. Klik kanan class pada browser.
2. Pilih New, Operation. Sebuah operation bernama Opname muncul pada browser.
3. Masukkan nama yang diinginkan.

Mendokumentasikan operation
1. Klik tanda “+” di sebelah class pada browser untuk meng-expand class.
2. Klik untuk memilih operation .
3. Tempatkan cursor pada documentation window lalu masukkan Dokumentasi.

Membuat Attribute
1. Klik kanan class pada browser.
2. Pilih New, Attribute . Pada browser akan tampil attribute Name.
3. Pilih nama yang dinginkan untuk atribut tersebut.

Membuat class diagram untuk menunjukkan attributes dan operations dari


sebuah package
1. Klik kanan untuk package di browser.
2. Pilih New, Class Diagram. Sebuah class diagram bernama NewDiagram muncul
di browser.
3. Masukkan nama diagram.

Menambahkan classes ke dalam sebuah diagram menggunakan menu query


1. Klik ganda diagram pada browser.
2. Pilih Query:Add Classes.
3. Pilih package yang dinginkan.
4. Klik untuk memilih classes yang diinginkan dan klik tombol “>>>>> “ untuk
menambahkan semua classes ke dalam diagram.

3.4 Inheritance
Inheritance merupakan kemampuan untuk membuat hierarki yang terdiri atas class-
class, dimana terdapat struktur dan atau behavior (kelakuan) diantara class-class.
Istilah superclass digunakan oleh class yang menyimpan informasi umum. Keturunan
dari superclass disebut subclass.

Sebuah subclass mewarisi semua atribut, operasi dan relationship yang dipunyai oleh
semua superclass-superclassnya. Inheritance disebut juga hierarki is-a (adalah
sebuah) atau kind -of (sejenis). Subclass dapat menggunakan atribut dan operasi
tambahan yang hanya berlaku pada level hierarkinya. Karena inheritance relationship
bukan sebuah relationship diantara object yang berbeda, maka relationship ini tidak
pernah diberi nama, penamaan role juga tidak digunakan dan multiplicity tidak
digunakan. Terdapat dua cara untuk menemukan inheritance, yaitu generalization dan
specialization .

3.4.1 Generalization
Generalization menjamin kemampuan untuk membuat superclass yang melingkupi
struktur dan behaviour yang umum pada beberapa class dibawahnya (subclass).

Page 101 of 120


Class Diagram

Shape
-origin
+move()
+display()
+resize()

Rectangle Circle Polygon


Corner : Point -Radius : float Point : list
+Display

Square

Gambar 3.11 Contoh Generalization

3.4.2 Specialization
Specialization menjamin kemampuan untuk membuat subclass yang berfungsi untuk
menambah atribut dan operasi superclass.

Operasi pada superclass dapat di-override oleh subclass (konsep polymorphism).


Tetapi, sebuah subclass seharusnya tidak boleh membatasi sebuah operasi yang
didefinisikan dalam superclass-nya, dengan kata lain subclass seharsunya tidak boleh
menyediakan lebih sedikit behaviour atau struktur daripada superclass-nya.

Membuat Inheritance
1. Buka class diagram yang akan menampilkan hierarki inheritance.
2. Klik icon class dari toolbar dan klik pada class diagram untuk menempatkan icon
class tadi.
3. Pada class yang dipilih tadi, masukkan nama class. (Catatan: class seharusnya
seharusnya sudah dibuat di browser dan ditambahkan ke class diagram)
4. Klik icon generalization di toolbar.
5. Klik pada subclass dan drag icon garis generalization menuju superclass.
6. Ulangi langkah 5 untuk setiap tambahan subclass.

Membuat Inheritance Tree


1. Lakukan langkah 1 sampai dengan 5 diatas (membuat inheritance)
Untuk setiap subclass yang merupakan bagian dari inheritance tree, pilih icon
Generalization dari toolbar, klik pada subclass dan drag garis generalization
menuju segitiga inheritance.
InformasiPengguna

InformasiDosen InformasiMahasiswa

Gambar 3.12 Inheritance tree

Page 102 of 120


Class Diagram

3.4.3 Class Diagram

ATM
ATMCode
Cash

Bank InsertCard()
EnterAmount()
Name Check Sufficient()
Address EjectCard()
1 * 1
DispenceCard()
EnterPIN()
1
ValidateCard()
ValidatePIN()

*
Saving Account
*
Transaction
Account Number
Date
Name
Time
Address
TransactionID
Balance
1 1..*
Create Account() Create Transaction()

Withdrawal Transaction Transfer Transaction


Destination Account Number
Amount
Amount
1..*
Create Withdrawal() Create Transfer()
ATMCard Set Amount() Set Amount()
CardID
PIN
1..*
Set PIN()
Get PIN()

Gambar 3.13 Class Diagram

Page 103 of 120


Class Diagram

3.5 Package

Jika sistem hanya memiliki sedikit class, kita dapat mengaturnya dengan mudah.
Sebagian besar sistem dibuat dari banyak class sehingga kita memerlukan suatu
mekanisme untuk mengelompokkannya bersama untuk memudahkan dalam hal
penggunaan, perawatan, dan penggunaan kembali . Package adalah kumpulan dari
dari package atau class yang berelasi. Dengan mengelompokkan class dalam
package, kita bisa melihat level yang lebih tinggi dari model kita atau kita bisa
menggali model dengan lebih dalam dengan melihat apa yang ada di dalam package.

Jika sistemnya kompleks, package mungkin dibuat di awal fase elaborasi sebagai
fasilitator komunikasi. Untuk sistem yang lebih sederhana, class-class yang didapat
pada tahap analisa mungkin dikelompokkan dalam suatu package. Di UML, package
digambarkan sebagai folder.

People
Information

Gambar 3.14 Package

Membuat packages pada browser


1. Klik kanan Logical View pada browser.
2. Pilih New, Package menu .
3. Ketika package masih tersorot, masukkan nama package.

3.5.2 Package Relationship


Relasi yang digunakan dalam package relationship adalah dependency relationship .
Jika sebuah package A tergantung pada package B, hal ini berakibat satu atau lebih
class-class di package A memulai berkomunikasi dengan satu atau lebih public class
di package B. Package A disebut client package dan package B disebut supplier
package.

Package A Package B

Client Supplier
Gambar 3.15 Relasi Package

Membuat package relationship


1. Pilih dependency relationship icon dari toolbar.
2. Klik dependent package dan tarik panah ke package yang berhubungan.

Page 104 of 120


Class Diagram

Jurnal Modul 3

1. Perbaiki candidate class diagram Sistem ATM.


(Catatan: pada tahap analisa dan awal desain sangat dimungkin class diagram
mengalami perubahan dikarenakan masih berlangsungnya tahap analisa dan desain
sebelum mencapai milestone akhir desain)
2. Buatlah dan identikasi class diagram untuk kasus SISTEM PENJUALAN ITEM
SUPERMARKET

Page 105 of 120


State Transition Diagram dan Activity Diagram

Modul 4 State Transiton Diagram dan Activity Diagram


Tujuan Praktikum:
1. Praktikan dapat menentukan object-object dinamis dari suatu class dan mengambarkan
state diagram dari object-object tersebut.
2. Praktikan dapat menggambarkan activity diagram dan membedakannya dengan state
diagram.

4.1 State Transiton Diagram


Use case dan skenario menyediakan cara untuk menggambarkan kelakuan sistem
yakni interaksi antara object-object di dalam sistem. Kadang-kadang diperlukan untuk
melihat kelakuan di dalam object. State transition diagram menunjukkan state-state
dari object tunggal, event-event atau pesan yang menyebabkan transisi dari satu state
ke state yang lain, dan action yang merupakan hasil dari perubahan sebuah state.

State transition diagram tidak akan dibuat untuk setiap class di sistem. State
transition diagram hanya dibuat untuk class yang berkelakuan dinamis . Interaction
diagram dapat dipelajari untuk menentukan dynamic object di sis tem, yaitu object
yang menerima dan mengirim beberapa pesan. State transition diagram juga sangat
berguna untuk meneliti kelakuan dari sebuah kumpulan whole class dan control class.

Membuat State Transition Diagram


1. Klik kanan untuk memilih class di browser sehingga muncul shortcut.
2. Pilih New, Statechart Diagram

4.1.1 States
State adalah sebuah kondisi selama kehidupan sebuah object ketika object memenuhi
beberapa kondisi, melakukan beberapa action, atau menunggu sebuah event. State
dari sebuah object dapat dikarakteristikkan oleh nilai dari satu atau lebih atribut-
atribut dari class.

State-state dari sebuah object ditemukan dengan pengujian/pemeriksaan atribut-


atribut dan hubungan-hubungan dari object.

Notasi UML untuk state adalah empat persegipanjang/bujur sangkar dengan ujung
yang dibulatkan, seperti ditunjukkan pada gambar 1.

Gambar 4.1 Notasi UML untuk state

State transition diagram meliputi seluruh pesan dari object yang dapat mengirim dan
menerima. Skenario merepresentasikan satu jalur yang melewati sebuah state
transition diagram. Jarak waktu antara dua pesan yang dikirim oleh sebuah object
merepresentasikan sebuah state . Oleh karena itu, sequence diagram ditentukan untuk
menemukan state-state sebuah object (lihat pada ruang antara garis-garis yang
merepresentasikan pesan-pesan diterima oleh object).

Page 106 of 120


State Transition Diagram dan Activity Diagram

Membuat State
1. Klik untuk memilih icon state dari toolbar.
2. Klik untuk menempatkan state pada state transition diagram.
3. Dengan state masih dipilih, masukkan nama state.

4.1.2 State Transitions


State transition merepresentasikan sebuah perubahan dari state awal ke sebuah state
berikutnya (yang mungkin dapat sama dengan state awal). Sebuah action dapat
menyertai sebuah state transition.

Ada dua cara untuk membuat transisi sebuah state – otomatis dan tidak otomatis.
State transition yang otomatis terjadi ketika activity dari state awal telah lengkap –
tidak ada event yang terasosiasi dengan state transition yang belum bernama. State
transition yang tidak otomatis disebabkan oleh sebuah event ternama (salah satu dari
object atau dari luar sistem). Kedua tipe dari state transition dipertimbangkan untuk
membuat waktu nol dan tidak dapat diinterupsi. Sebuah state transition
direpresentasikan oleh sebuah panah yang menunjuk dari state awal ke state
berikutnya.

Membuat State Transition


1. Klik untuk memilih icon state transition dari toolbar.
2. Klik pada asal state di state transition diagram.
3. Drag state transition menuju state yang diinginkan.
4. Jika state transition merupakan transisi yang mempunyai nama, masukkan nama
ketika panah state transition masih dipilih.

4.1.3 Special States


Ada dua state khusus yang ditambahkan di state transition diagram. Pertama adalah
start state. Masing-masing diagram harus mempunyai satu dan hanya satu start state
ketika object mulai dibuat. Notasi UML untuk start state ditunjukkan gambar 4.2.
khusus berikutnya adalah stop state. Sebuah object boleh mempunyai banyak stop
state. Notasi UML untuk stop state ditunjukkan gambar 4.2.

Start State Stop State

Gambar 4.2 Notasi UML untuk start da n stop state

Membuat Start State


1. Klik untuk memilih icon start state dari toolbar.
2. Klik pada state transition diagram untuk menggambarkan icon start state.
3. Klik untuk memilih icon state transition dari toolbar.
4. Klik pada icon start state dan drag panahnya menuju state yang diinginkan.

Membuat Stop State


1. Klik untuk memilih icon stop state dari toolbar.
2. Klik pada state transition diagram untuk menggambarkan icon stop state.
3. Klik untuk memilih idari toolbar.
4. Klik pada state dan drag panahnya menuju icon stop state.

Page 107 of 120


State Transition Diagram dan Activity Diagram

4.1.4 State Transition Details


Sebuah state transition dapat mempunyai sebuah action dan/atau sebuah kondisi
penjaga (guard condition) yang terasosiasi dengannnya, dan mungkin juga
memunculkan sebuah event. Sebuah action adalah kelakuan yang terjadi ketika state
transition terjadi. Sebuah event adalah pesan yang dikirim ke object lain di sistem.
Kondisi penjaga adalah ekspresi boolean dari nilai atribut-atribut yang mengijinkan
sebuah state transition hanya jika kondisinya benar. Kedua action dan penja ga adalah
kelakuan dari object dan secara tipikal menjadi operasi. Seringkali operasi-operasi ini
adalah tersendiri – hal itu, mereka digunakan hanya oleh object dirinya sendiri. Notasi
UML untuk state transition details ditunjukkan gambar 4.3.

Nama event [kondisi penjaga] / action

^class name.send event

Gambar 4.3 Notasi UML untuk state transition detail

Menambahkan Detail State Transition


1. Klik kanan pada panah state transition untuk menampilkan shortcut.
2. Pilih menu specification.
3. Pilih tab Detail.
4. Masukkan action, guard dan/atau event yang akan dikirim.
5. Klik tombol OK untuk menutup specification .

4.1.5 State Details


Action-action yang mengiringi seluruh state transition ke sebuah state mungkin
ditempatkan sebagai sebuah entry action dalam state. Demikian juga, action-action
yang mengiringi seluruh state transition keluar dari sebuah state mungkin
ditempatkan sebagai sebuah aksi keluar dalam state. Kelakuan yang terjadi dalam
state disebut activity. Sebuah activity memulai ketika state dimasukkan dan salah satu
dari melengkapi atau diinterupsi oleh s ebuah state transition yang keluar.

Kelakuan mungkin sebuah action yang sederhana, atau kelakuan merupakan sebuah
event yang terkirim ke object lain. Sesuai dengan action-action dan guard -guard,
kelakuan ini secara tipikal dipetakan ke operasi-operasi dalam object. Notasi UML
untuk state detailed information ditunjukkan gambar 4.4.

State name
entry : simple action
entry: ^class name.event name
do: simple action
do: ^class name.event.name
exit: simple action
do: ^class name.event name

Gambar 4.4 State details

Page 108 of 120


State Transition Diagram dan Activity Diagram

Membuat Entry Actions, Exit Actions dan Activities


1. Klik kanan pada state untuk menampilkan shortcut.
2. Pilih menu specificatio n.
3. Pilih tab Detail.
4. Klik kanan pada field Action untuk menampilkan shortcut.
5. Pilih menu Insert untuk aksi yang disebut entry.
6. Double klik pada entry untuk menampilkan Action Specification.
7. Pilih tipe action: simple atau send event.
8. Masukkan informasi action atau send event.
9. Pilih kapan action seharusnya terjadi: on entry, on exit, entry until exit atau upon
event.
10. Klik tombol OK untuk menutup Action Specification .
11. Klik tombol OK untuk menutup State Specification.

OFF
Start

Turn ON
Turn OFF

Calceled/Completion

Serving Idle
User

Card Inserted

Gambar 4.5 StateChart Diagram for ATM

Page 109 of 120


State Transition Diagram dan Activity Diagram

Waiting for CollectCard Card


Start
card ejected

Insert Card
CardNotAccepted

Verifying
card

CardAccepted

Waiting for Cancel Cancel


PIN

Enter PIN

Verifying
Error<3 PIN Cancel

PIN valid
PIN Invalid

Counting Wait for


Error transaction

Error=3

Blocking End

Gambar 4.6 StateCart Diagram for class ATMCard

4.2 Activity Diagram


Activity diagram memodelkan workflow proses bisnis dan urutan aktivitas dalam
sebuah proses. Diagram ini sangat mirip dengan flowchart karena memodelkan
workflow dari satu aktivitas ke aktivitas lainnya atau dari aktivitas ke status.
Menguntungkan untuk membuat activity diagram pada awal pemodelan proses untuk
membantu memahami keseluruhan proses. Activity diagram juga bermanfaat untuk
menggambarkan parallel behaviour atau menggambarkan interaksi antara beberapa
use case.

Elemen-eleman activity diagram :


1. Status start (mulai) dan end (akhir)
2. Aktifitas yang merepresentasikan sebuah langkah dalam workflow.
3. Transition menunjukkan terjadinya perubahan status aktivitas (Transitions show
what state follows another).
4. Keputusan yang menunjukkan alternatif dalam workflow.
5. Synchronization bars yang menunjukkan subflow parallel. Synchronization bars
dapat digunakan untuk menunjukkan concurent threads pada workflow proses
bisnis.
6. Swimlanes yang merepr esentasikan role bisnis yang bertanggung jawab pada
aktivitas yang berjalan.

Page 110 of 120


State Transition Diagram dan Activity Diagram

Membuat Swimlanes
1. Klik kanan pada use case yang akan dibuat activity diagram, kemudian pilih
Select in Browser. Use case yang dipilih akan tersorot pada browser.
2. Klik kanan use case yang tersorot di browser, kemudian klik New, Activity
Diagram.
3. Beri nama activity diagram.
4. Buka activity diagram dengan double klik
5. Pilih icon swimlane dari toolbar dan klik ke dalam activity diagram.
6. Buka Specification dari swimlane dengan cara double klik header swimlane
(NewSwimlane) pada diagram.
7. Beri nama swimlane dengan nama sesuai dengan role bisnis yang menjalankan
aktivitas -aktivitas.
8. Klik OK.

Membuat status Aktifitas (Aktifitas)


1. Klik icon status mulai di toolbar dan kemudian klik di swimlane.
2. Klik icon aktifitas di toolbar dan kemudian klik di swimlane.
3. Ganti nama NewActivity sesuai dengan aktiftas yang dilakukan
4. Untuk menunjukkan aktifitas pada nomor tiga berhubungan dengan status mulai ,
klik icon state transition di toolbar..
5. Klik dan drag transition dari status mulai menuju ke aktifitas nomor tiga.

Catatan: untuk membuat aktifitas dan transition lainnya dapat dilakukan dengan
mengulang langkah 2 sampai 5.

Membuat Decision point


1. Klik icon decision point di toolbar dan kemudian sambungka n transition menuju
dan dari decision point ke aktifitas-aktifitas yang berhubungan.
2. Buka decision specification dengan cara double klik decision point.
3. Masukkan nama decision point sesuai dengan fungsinya.
4. Untuk setiap transition yang keluar dari decision point, double klik untuk
membuka specification-nya.
5. Pada tab Detail, masukkan label guard condition dengan fungsi yang sesuai di
kotak Guard Condition. Arti Guard Condition adalah transition yang keluar dari
decision point di-triger oleh guard condition pada decision point-nya.
6. Klik OK

Page 111 of 120


State Transition Diagram dan Activity Diagram

: User : ATM : Saving Account : ATM Card


Start

Insert card CardID Request PIN [User Not Validated]

Type PIN SignalType=PINRequest

PIN Read PIN (CardID,PIN) Verify PIN

Select options SignalType=Options Display options [User validated]

Select withdraw Request Amount>Limit


amount

Enter amount SignalType=RequestAmount

Amount Compare cash limit Check for Sufficient


Retrieve
Funds
balance
Amount<Limit
[Transaction authorized]
Collect cash Dispense cash Debit account
SignalType=CollectCash

Cash collected Print receipt


and Eject card

Collect the receipt card

(Card,Receipt)

Gambar 4.7 Activity Diagram for ATM system

Jurnal Modul 4

A. 1. Periksa Statechart Diagram yang ada pada studi kasus ATM, lakukan perubahan
yang dianggap perlu pada diagram-diagram sebelumnya.
2. Dengan menggunakan SISTEM PENJ UALAN ITEM SUPERMARKET.
a. Buatlah Statechart Diagram yang diperlukan untuk memperlihatkan kelakuan
sistem yang dinamis.
b. Lakukan perubahan yang dianggap perlu pada diagram-diagram sebelumnya.

B. 1. a. Periksa Activity Diagram yang diperlukan pada ATM untuk memperjelaskan


business proses yang ada pada Sistem ATM.
b. Lakukan perubahan yang dianggap perlu pada diagram-diagram sebelumnya.
2. Dengan menggunakan SISTEM PENJUALAN ITEM SUPERMARKET.
a. Buatlah Activity Diagram yang diperlukan untuk memperjelaskan business
proses yang ada.
b. Lakukan perubahan yang dianggap perlu pada diagram-diagram sebelumnya.

Page 112 of 120


Refinement

Modul 5 Refinement
Tujuan Praktikum:
1. Praktikan dapat menganalisa kembali diagram-diagram yang dibuat pada tahap analisa
dan mampu membedakan dengan tahap selanjutnya (desain dan implementasi).
2. Praktikan bisa memahami alur dari setiap tahap yang digunakan dalam perancangan
perangkat lunak menggunakan UML.
3. Praktikan mampu memperbaiki kekurangan yang ada pada masing-masing diagram pada
tahap-tahap sebelumnya.

Pada modul ini kita akan me-review diagram-diagram yang pernah kita gunakan pada tahap
sebelumnya, hal ini memungkinkan kita untuk melakukan perubahan pada beberapa class dan
object yang dianggap perlu namun belum tergambar pada waktu analisa. Karena kita akan
beranjak pada implementasi, maka ada beberapa class baru yang akan muncul seperti user
interface.

5.1 Class Refinement


Pada modul sebelumnya kita telah membahas tentang sequence diagram, dimana
sequence diagram pada tahap tersebut merupakan interaksi antar class yang akan
muncul pada class diagram pada modul berikutnya. Pada tahap itu kita masih
menggambarkan sequence diagram tersebut berdasarkan interaksi antar object. Disitu
kita belum menemukan adanya class-class user interface yang pada tahap
implementasi akan menjadi sebuah form pada aplikasi yang akan kita buat. Untuk itu
kita perlu menambahkan beberapa class user interface yang kita anggap perlu.

: ATM Login : ATM Card


User : <Actor Name> <<Form>>

insert card

verify card

request PIN

insert PIN Verify PIN

PIN "OK"

Gambar 5.1 Sequence Diagram for Authenticate User’s ATM

Page 113 of 120


Refinement

1: insert card

: ATM

User : <Actor Name>

3: request PIN4: insert PIN


2: verify card

5: Verify PIN
<<Form>>
Login : ATM
Card
6: PIN "OK"
Gambar 5.2 Collaboration Diagram for Authenticate User’s ATM

: ATM Witdrawal : Withdrawal : Saving Acount


<<Form>>
: User
<<Create>>

Request amount

Enter amount
Check for sufficient funds( )
debit( )
Set cash( )

Dispense cash ()

Request Take Cash ()

Request Continuation ()

"No"

Print Recept ()

Eject Card

Request Take a card

Take a card

Gambar 5.3 Sequence Diagram for Use Case Withdrawal

Page 114 of 120


Refinement

5: debit( )

10: "No"
14: Take a card

: ATM : Saving
Acount
7: Dispense cash () 6: Set cash( )
: User 8: Request Take Cash ()
9: Request Continuation ()
11: Print Recept ()
12: Eject Card 4: Check for sufficient funds( )
13: Request Take a card
3: Enter amount 1: <<Create>>

<<Form>>
: Withdrawal
Witdrawal

2: Request amount

Gambar 5.4 Collaboration Diagram for Withdrawal

5.2 Class User Interface


Pada tahap implementasi kita harus mendefinisikan class-class user interface,
walaupun pada dasarnya class ini hanya merupakan spesifikasi dari class lain, namun
keberadaannya tetap diperlukan pada saat pembuatan program. Pada class user
interface, yang menjadi metode adalah komponen-komponen yang kita gunakan pada
saat pembuatan program Aplikasi. Jika kita menggunakan Visual Basic, maka yang
menjadi metode pada class-class dalam class user interface adalah komponen dari
Visual Basic itu sendiri.

Page 115 of 120


Refinement

ATM
ATMCode
Cash

Bank InsertCard()
EnterAmount()
Name Check Sufficient()
Address EjectCard()
1 * 1
DispenceCard()
1 EnterPIN()
ValidateCard() <<Form>>
ValidatePIN() Login

*
Saving Account
*
Transaction
Account Number
Date
Name
Time
Address
Balance TransactionID
1 1..*
Create Transaction()
Create Account()

Withdrawal Transaction Transfer Transaction


Amount Destination Account Number
Amount
1..*
Create Withdrawal() Create Transfer()
ATMCard Set Amount() Set Amount()
CardID
PIN
1..*
Set PIN()
Get PIN()

<<Form>> <<Form>>
Form_Withdrawal Form-Transfer

Gambar 5.5 Class Diagram User Interface ATM

Page 116 of 120


Component Diagram dan Deployment Diagram

Modul 6 Component Diagram dan Deployment Diagram

Tujuan Praktikum:
1. Praktikan dapat menentukan komponen-komponen apa saja yang akan dibangkitkan dari
class diagram yang telah dibuat dan menggambarkannya dalam component diagram.
2. Praktikan dapat menggambarkan deployment diagram.

6.1 Component Diagram


Component view menggambarkan modul software yang bersama -sama membangun
sistem. Komponen-komponen dipetakan ke masing-masing class sesuai dengan
bahasa untuk implementasi dan source code-nya. Namun pada beberapa kasus, lebih
dari satu class akan dipetakan ke satu component. Sebagai contoh, untuk men-
generate code untuk sebuah class dalam logical view , class harus diinisialisasi pada
satu atau beberapa komponen. Demikian juga, untuk meng-update sebuah model dari
source code, komponen yang berhubungan dengan proyek sudah harus ada di model.
Sebuah model dapat terdiri dari beberapa komponen bahasa yang berbeda tapi sebuah
class hanya dapat diinisialisasi untuk komponen-komponen pada bahasa yang sama.

Component view diilustrasikan dalam component diagram. Sebuah component


diagram menggambarkan bagaimana komponen-komponen berelasi menggunakan
relasi dependency. Sebuah component diagram juga menggambarkan interface dari
komponen COM yang diimport (class dengan stereotype “interface”).

Elemen pemodelan pada component view adalah package dan component dengan
hubungan yang ada. Sebuah package pada component view menggambarkan partisi
fisik pada sistem. Component View Package sering disebut subsystem. Package-
package diatur dalam lapisan hierarki dimana setiap lapisan mempunyai interface.
Fakta bahwa object oriented system cenderung menja di sebuah sistem yang berlapis-
lapis tidaklah mengherankan. Hal ini sesuai dengan definisi object, yakni melakukan
satu hal.

Membuat Component View Package


1. Klik kanan untuk memilih Component View Package pada browser.
2. Pilih menu New, Package. Ini akan menambahkan sebuah item dengan nama
NewPackage ke browser.
3. Dengan NewPackage masih terpilih, masukkan nama package yang baru.

Main Component Diagram (dengan isi Main Component adalah package)


1. Double klik pada Main Diagram dibawah Component View pada browser untuk
membuka diagram.
2. Klik untuk memilih sebuah package dan drag package tersebut ke diagram
3. Ulangi langkah 2 untuk setiap package yang digunakan.
4. Relasi dependency ditambahkan dengan memilih icon dependency dari toolbar,
klik dari package yang menggambarkan client dan drag panahnya menuju
package yang menggambarkan supplier.
5. Drag package-package pada Logical View yang fungsionalitasnya membangun
Component Package pada Main Component Diagram.

Page 117 of 120


Component Diagram dan Deployment Diagram

Membuat Component

1. Buka Component Diagram


2. Klik pada diagram untuk menempatkan component.
3. Ketika component masih terpilih, masukkan nama component.
4. Drag class-class pada Logical View ke component-component yang sesuai.

Aplikasi ini berada diserver bank


sehingga kita tidak perlu
mendefenisikannya secara
detail, tujuan digambarkan hanya
untuk melihat keterhubungan
antar aplikasi. <<data base>>
Rekening

<<Application>>
Bank server

Autenticate

<<Application>>
ATM

Withdrawal Transfer

Transaction

Gambar 6.1 Component Diagram ATM

6.2 Deployment Diagram


Deployment view menggambarkan proses -proses yang berbeda pada sistem yang
berjalan dan bagaimana relasi di dalamnya. Deployment view digambarkan sebagai
node yang terpisah pada browser. Deployment view diilustrasikan sebagai diagram
tunggal yang dapat dibuka dengan double klik pada node deployment view pada
browser.

Membuat Deployment Diagram


1. Double klik Deployment Diagram pada browser.
2. Untuk membuat sebuah node, klik icon Processor kemudian klik pada diagram
untuk menempatkannya.
3. Ketika node masih terpilih, masukkan nama node.

Untuk membuat hubungan antara node, klik icon connection dari toolbar, klik pada
salah satu node pada deployment diagram dan drag sambungan tersebut pada node
lainnya.

Page 118 of 120


Component Diagram dan Deployment Diagram

ATMServer Rekening Server

TCP/IP

<<Network>> ATM
Mechine
LC

Gambar 6.2 Deployment Diagram ATM

Jurnal Modul 6

1. Evaluasi Component dan Deployment Diagram untuk Sistem ATM Lakukan perubahan
yang dianggap perlu pada diagram-diagram sebelumnya.
2. Buatlah Component dan Deployment Diagram SISTEM PENJUALAN ITEM.
Lakukan perubahan yang dinggap perlu pada diagram-diagram sebelumnya.

DAFTAR PUSTAKA

TIM Dosen. 2014. Modul Pembelajaran dan Praktikum Rekayasa Perangkat Lunak. Jakarta. Fakultas
Teknik, Universitas Mercubuana

BSE REKAYASA PERANGKAT LUNAK

Liana Linda. 2015. Modul UML. Jakarta. Jurusan Sistem Informasi, Fakultas Ilmu Komputer, Universitas
Mercubuana Jakarta.

Page 119 of 120

Anda mungkin juga menyukai