Modul Praktikum APS 2017
Modul Praktikum APS 2017
Modul Praktikum APS 2017
Spesifikasi Kebutuhan
Spesifikasi kebutuhan adalah proses untuk menjelaskan kebutuhan PL yang
telah didefinisikan sebelumnya secara lebih detil dan tepat yang akan menjadi
dasar bagi perancangan dan implementasi.
Contoh :
Definisi kebutuhan (requirement definition) :
1. PL harus mampu menyediakan sarana untuk menampilkan dan mengakses
file-file yang dibuat oleh tool yang lain. (SRS_PRJ_100)
Spesifikasi kebutuhan (requirement specification) :
1.1 Pengguna harus disediakan fasilitas untuk mendefinisikan tipe file.
(SRS_PRJ_101)
1.2 Setiap tipe file direpresentasikan dengan ikon tertentu pada layar
pengguna. (SRS_PRJ_102)
STUDI KASUS :
Vario Advertising merupakan perusahaan biro iklan yang terletak di Jalan
Soekarno Hatta Malang. Vario didirikan pada tahun 2000. Awalnya perusahaan ini
berkonsentrasi pada periklanan untuk industri motor indonesia, yang sebagian
besar pemasarannya di daerah Jawa dan Bali. Namun seiring berjalannya waktu,
perusahaan diperluas menuju skala internasional dan memiliki klien di berbagai
industri manufaktur dan jasa. Strategi perusahaan bertujuan untuk terus tumbuh
perlahan-lahan dan mengembangkan ke pasar internasional.
Dalam menjalankan bisnisnya Vario Advertising bekerjasama dengan
perusahaan lain yang bisa disebut juga sebagai klien. Setiap kerjasama yang
dilakukan oleh Vario terdapat dokumentasi yang selalu dibuat dan disimpan
secara baik. Disamping itu dalam melakukan kerjasama biasanya dari pihak klien
akan mengirimkan beberapa perwakilannya untuk melakukan komunikasi dan
koordinasi dengan Vario. Begitu juga dengan Vario, mengirimkan wakilnya untuk
melakukan koordinasi dengan klien. Perwakilan dari vario memungkinkan
bertanggung jawab pada klien yang berbeda dalam pekerjaan yang berbeda pula.
Tentunya hal seperti ini perlu dikelola secara benar agar tiak overlap, baik target
kerja, pengelolaan dana, dan penjadwalan kerja.
B. Pemodelan Terstruktur
Konsep perancangan sistem dengan pendekatan terstruktur (Structural
Analysis) pertama kali diperkenalkan oleh Tom DeMarco pada tahun 1979. Tom
DeMarco menuliskan penjelasannya tentang pendekatan terstruktur pada
bukunya yang berjudul Structured Analysis and System Specification. Dalam
buku tersebut penekanan utamanya adalah pada proses spesifikasi struktur
domain masalah.
Data Dictionary
Kamus data atau systems data dictionary adalah katalog fakta tentang data
dan kebutuhan-kebutuhan informasi dari suatu sistem informasi. Dengan Data
Dictionary analis sistem dapat mendefinisikan data yang mengalir di sistem
dengan lengkap.
Entity Relationship Diagram (ERD)
Terdapat beberapa pertanyaan yang dapat mempermudah dalam
perancangan model data, antara lain adalah:
Beberapa hal yang harus diperhatikan dalam menyusun DFD/ CFD adalah sebagai
berikut:
Jumlah proses dalam satu diagram DFD : 4 + 2
Maks. 4 level dekomposisi (DFD/CFD)
Dekomposisi fungsional (DFD) :
1. Buatlah Data Flow Diagram untuk kasus studi Vario Advertising pada Modul
Praktikum Rekayasa Kebutuhan.
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
2. Buatlah process specification (P-Spec) dari DFD yang telah dibuat sebelumnya!
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
3. Buatlah control specification (C-Spec) dari DFD yang telah dibuat sebelumnya!
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
4. Buatlah data dictionary dari DFD yang telah dibuat sebelumnya!
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
a) Menurut Anda, apakah ERD diatas sudah benar? Jelaskan jawaban Anda!
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
b) Jika terdapat kesalahan, lakukan analisis terhadap kesalahan yang terjadi pada
ERD tersebut dan gambarkan ulang hasil perbaikannya!
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Modul Praktikum Analisis dan Perancangan Sistem Halaman 20 dari 58
c) Setelah diperbaiki, amati dan jelaskan makna ERD tersebut dalam bahasa Anda
sendiri!
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Nma Objek
Atribut2
Operasi2
Class
Menurut Yourdon, class (klas) adalah sebuah deskripsi dari satu atau lebih
objek yang memiliki kesatuan dari atribut dan layanan/operasi yang sama
termasuk bagaimana membuat objek baru dalam klas.
DIAGRAM UML
UML adalah salah satu standar bahasa yang banyak digunakan di dunia industri
untuk mendefinisikan requirement, membuat analisis dan desain serta
menggambarkan arsitektur dalam pemrograman berorientasi objek. UML
berfungsi untuk melakukan pemodelan.
Use Case Diagram
Use Case merupakan pemodelan untuk kelakuan sistem informasi yang akan
dibuat. Use Case menjelaskan perilaku sistem dari tampak luar dan menyediakan
fungsi-fungsi yang harus dipenuhi sistem sesuai dengan aktornya. Elemen-elemen
yang ada pada use case adalah actor dan use case. Actor adalah orang, proses atau
sistem lain yang berinteraksi dengan sistem informasi. Sedangkan use case
merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling
bertukar pesan antar unit atau aktor.
Langkah-langkah dalam membuat use case:
Identifikasi aktor
Identifikasi use-case per aktor
Simbol-simbol yang digunakan pada use case adalah:
Tabel 1. Simbol Use Case
No Simbol (Nama) Deskripsi
1 use case fungsionalitas yang disediakan sistem sebagai unit-unit yang
saling bertukar pesan antar unit/aktor. Biasanya dinyatakan
dengan menggunakan kata kerja awal di awal frase nama
Nama use case use case.
6 include relasi use case tambahan ke sebuah use case dimana use
<<include>> case yang ditambahkan memerlukan use case ini untuk
menjalankan fungsinya atau sebagai syarat dijalankan use
case ini
Setiap use case yang dibuat, dilengkapi dengan skenario. Skenario use case
adalah alur jalannya proses use case dari sisi aktor dan sistem. Bentuk skenario use
case bisa dilihat pada gambar di bawah ini:
Tabel 2. Usecase Scenario
Flow of events for the Select product use-case
Actors Customer
Main flow
Alternative flows If the selected product is not available, the system will display a message
Your selected product is not available.
If the selected product is available but there isnt enough number to
order, the system will display a message The number isnt enough, max.
x. X is the existing number of the product.
No Simbol/Nama Deskripsi
1 Klas klas pada struktur sistem
nama_klas
+atribut()
+operasi()
4 asosiasi berarah relasi antar klas dengan makna klas yang satu
digunakan oleh klas yang lain
Class Stereotype
Dalam sebuah diagram klas, dibutuhkan sebuah template agar diagram klas
yang dibuat sesuai dengan sistem yang akan dibangun. Berikut merupakan
komponen yang harus ada pada sebuah diagram klas:
Boundary class
Boundary class merupakan sebuah model dalam sistem yang menunjukkan
bagaimana sistem berinteraksi dan berkomunikasi antara sistem komputer
<<control>>
<<boundary> <<boundary>>
Actor 1 >
Actor 2
<<entity>> <<entity>>
Sequence Diagram
Diagram sekuen menggambarkan perilaku objek pada use case dengan
mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima
antar objek. Oleh karena itu harus diketahui objek-objek yang terlibat dalam
sebuah use case beserta metode-metode yang dimiliki klas yang diinstansiasi
objek tersebut.
Modul Praktikum Analisis dan Perancangan Sistem Halaman 32 dari 58
boundary entity control
Diagram sekuen yang dibuat minimal sebanyak pendefinisian use case yang
memiliki proses sendiri atau interaksi jalannya pesan sudah diidentifikasi. Elemen-
elemen yang ada pada diagram sekuen adalah objek, garis putus-putus dan pesan.
Fungsi dari tiap elemen dari diagram sekuen:
Objek: menggambarkan objek yang berinteraksi pesan. Wujud dari elemen ini
adalah kotak.
Dashed line atau garis putus-putus: menyatakan kehidupan sebuah objek dan
disebut sebagai lifeline.
Message/pesan: digambarkan dalam bentuk panah dengan garis horizontal
yang berfungsi melewatkan pesan dari objek ke objek yang lain sebagai tanda
bahwa objek tersebut melewati jalur hidupnya.
Konsep Perancangan
Pemodelan perancangan terstruktur adalah metode untuk memodelkan suatu
rancangan yang dibangun dengan pendekatan terstruktur. Pemodelan ini
menggunakan model DFD (Data Flow Diagram) sebagai dasar dalam
mentransformasi (Transform Mapping).
Langkah-langkah dalam melakukan Transform Mapping adalah sebagai berikut.
1. Review dan refine DFD sampai ke level paling bawah.
Pada proses ini, DFD pada level terbawah kemudian digabung menjadi satu
perspektif. Sebagai contoh DFD berikut.
6.3*
Sensor
Format for
information
display
Configuration Configuration
Information Sensor ID, type,
data location
6.2*
Assess Against
Setup
6.4*
Alarm data Generate Alarm
Signal Alarm type
6.5* Telephone
Sensor status Dial Phone Number tones
Configuration
data
2. Tentukan apakah DFD tsb. memiliki karakteristik tipe transform flow atau
transaction flow.
Untuk dapat menentukan karakteristik DFD memiliki tipe transform flow atau
transaction flow maka dapat kita lihat contoh DFD berikut.
Pada gambar tiga merupakan DFD yang bertipe transaction flow. Pada DFD ini
terdapat tiga bagian yaitu:
Transaction: data tunggal yang me-trigger satu atau beberapa aliran
data,
Transaction center: penghubung antara aliran-aliran data hasil pen-
trigger-an dengan data trigger-nya,
Action path: aliran/ jalur informasi hasil trigger.
Perbedaan mendasar dari kedua jenis DFD di atas adalah jika pada Transform
Flow, informasi dari incoming flow akan dirubah menjadi informasi internal dan
akan diproses oleh transform center untuk kemudian digunakan oleh outgoing
flow. Sementara jika pada transaction flow adalah informasi atau transaction akan
menentukan action path mana yang akan dilewati.
Jadi jika ada informasi kemudian berubah menjadi informasi lain maka kita bisa
gunakan transform flow. Sementara jika ada informasi yang sifatnya semacam
Configuration
data
INCOMING FLOW
7
1
2
3
8
4
5
Monitor Sensor
Executive
Untuk gambar enam kemudian juga dilakukan first level factoring menjadi
arsitektur modul yang tergambar pada gambar berikut.
User
System parameters
Command Raw
and data
Configuration
data
Formatted
Read user Command
Configuration
command type Read System Build
data
data configuration file
Configuration information
Configure
Invoke command
processing Start/stop
Configuration data
Activate/
deactive A/D Data
system
Display messages
Password and status
Configuration
data Display
Password information
Read
Password
Valid Password
Compare
Four Digits password with
file
Produce
Try Again message
invalid message
Invalid Password
Alarm Output Alarm Output Alarm Output Alarm Output Alarm Output Alarm Output
Controller Controller Controller Controller Controller Controller
User interaction
interactive
Invoke command
Read user command
processing
Monitor Sensor
Executive
Invoke command
Read user command
processing
System Configuration System Configuration System Configuration System Configuration System Configuration
controller controller controller controller controller
Monitor
Sensor
Executive
User Interaction
Executive
Establish Alarm
Sensor Input
alarm Output
Controller
condition Controller
Invoke
Read user
command
command Alarm
processing Produce Set up conn
Read Sensor Output
Display to phone net
Controller
Judul (Header)
{Berisi Judul Algoritma/ method}
Kamus ( Deklarasi )
{Berisi Deklarasi Variabel atau Konstantan}
Algoritma ( Deskripsi )
{Berisi Inti Algoritma}
1. Berdasarkan DFD yang telah dibuat untuk studi kasus: Vario Advertising
tentukan karakteristik DFD tersebut.
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di
sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message
yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal
(waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram
biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah
yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output
tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan
perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.
Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message
digambarkan sebagai garis berpanah dari satu objek ke objek lainnya.
Pada fase desain berikutnya, message akan dipetakan menjadi operasi/
metoda dari class yang akan dijelaskan pada sub bab berikutnya. Activation bar
menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan
diterimanya sebuah message. Untuk objek-objek yang memiliki sifat khusus,
standar UML mendefinisikan ikon khusus untuk objek boundary, controller dan
- names
- address
+ CreditRating():String
Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak
yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan,
tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian
interface mendukung resolusi metoda pada saat run-time. Sesuai dengan
perkembangan class model, class dapat dikelompokkan menjadi package. Kita
juga dapat membuat diagram yang terdiri atas package.
Agregasi, yaitu hubungan yang menyatakan suatu klas adalah bagian (terdiri
atas kumpulan) dari klas yg lain, namun kedua klas ini bisa berdiri sendiri.
Merupakan hubungan yang lebih kuat dari hubungan asosiasi.
Contoh :
Klas Jurusan menyimpan nilai atribut dari mahasiswa dengan tipe data
Klas bentukan Mahasiswa.
Mahasiswa dapat memiliki objek sendiri
Jurusan dapat memiliki objek sendiri
Mahasiswa menjadi bagian dari jurusannya.
1 jurusan bisa memiliki banyak mahasiswa.
Realization, Hubungan antara Interface dan Klas, di mana suatu Klas (klien)
mengimplement perilaku dari interface namun secara spesifik menentukan
perilaku di dalam Klas.
Interface adalah prototype klas yang berisi definisi konstanta dan deklarasi
perilaku/method (hanya nama method tanpa definisi kode programnya).
State
Event
Perubahan (transition) dari sebuah state ke state lainnya diakibatkan oleh
sebuah event digambarkan oleh state transition. Event yang menyebabkan
perubahan tersebut dituliskan di atas garis panah.
Pseudocode
Pseudocode adalah metode penulisan bahasa inggris sederhana yang
merepresentasikan lojik algoritma pemrograman. Pseudo berarti tiruan,
sedangkan Code adalah kode program sehingga pseudocode bisa disebut sebagai
kode tiruan dari program sebenarnya yang dituliskan dalam standar bahasa inggris
untuk mendekatkan dengan perintah-perintah yang terdapat pada bahasa
pemrograman. Setiap Pseudocode akan selalu terdiri dari tiga bagian yaitu :
Judul (Header)
{Berisi Judul Algoritma/ method}
Kamus ( Deklarasi )
{Berisi Deklarasi Variabel atau Konstantan}
Algoritma ( Deskripsi )
{Berisi Inti Algoritma}
3. Lakukan analisis Boundary, Control, dan Entity dalam untuk setiap aktivitas
yang tergambar dalam skenario penggunan/use case scenario dan wujudkan
dalam Sequence Diagram.
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
4. Gambarkan objek yang telah diidentifikasi dalam soal No.3 dan lengkapi
dengan jenis relasi, kardinalitas, dan modalitas antar class dalam Class
Diagram!
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________