Brahmantyo- Pemodelan Analisis
1
BAB IV
PEMODELAN ANALISIS
Pada tingkat teknik, rekayasa perangkat lunak dimulai dengan serangkaian tugas pemodelan yang
membawa kepada suatu spesifikasi lengkap dari persyaratan representasi dan representasi desain yang
komprehensip bagi perangkat lunak yang dibangun.
4.1. Elemen Model Analisis
Model analisis harus dapat mencapai tiga sasaran utama yakni untuk :
• Menggambarkan apa yang dibutuhkan untuk pelanggan
• Membangun dasar bagi pembuatan desain perangkat lunak
Brahmantyo- Pemodelan Analisis
2
Untuk mencapai sasaran tersebut dibuatlah model analisis yang berisi:
• Data Dictionary
Penyimpanan yang berisi deskripsi dari semua obyek data yang dikonsumsi atau diproduksi
oleh perangkat lunak.
• Entity Relationship Diagram (ERD)
Menggambarkan hubungan antara obyek data.
• Data Flow Diagram (DFD)
o Memberikan indikasi mengenai bagaiman data ditransformasi pada saat data bergerak
melalui sistem
o Menggambarkan fungsi-fungsi (dan sub fungsi) yang mentransformasikan aliran data.
• State Transition Diagram
Menunjukkan bagaimana sistem bertingkah laku sebagai akibat dari kejadian eksternal.
• Control Specification (CSPEC)
Informasi tambahan mengenai aspek kontrol dari perangkat lunak
4.2. Pemodelan Data
Untuk dapat menjawab sebagai berikut :
• Bagaimana komposisi dari masing-masing obyek data dan atribut apa yang menggambarkab obyek tersebut?
• Dimana obyek saat ini berada?
• Bagaimana hubungan antara masing-masing obyek data dan obyek lainnya?
• Bagaimana hubungan antara obyek dengan proses yang mentransformasikannya?
Digunakan Entity Relational Diagram (ERD)
4.2.1. Obyek Data, Atribut dan Hubungan
• Obyek Data
Adalah representasi dari hamper semua informasi gabungan yang harus dipahami oleh
Brahmantyo- Pemodelan Analisis
3 • Atribut
Menentukan property suatu obyek data dan mengambil salah satu dari tiga karakteristik yang
berbeda.
o Menamai sebuah contoh dari obyek data
o Menggambarkan contoh
o Membujat referensi ke contoh yang lain pada tabel yang lain.
• Hubungan
Obyek data disambungkan satu dengan lainnya dengan berbagai macam cara.
4.2.2. Kardinalitas dan Modalitas
Kardinalitas
Model data harus dapat merepresentasikan jumlah peristiwa dari obyek di dalam hubungan yang
diberikan
o Satu ke satu (1:1)
Misalnya: seorang suami hanya dapat memiliki satu istri, dan seorang istri hanya mempunyai
satu suami.
o Satu ke banyak (1:N)
Misalnya: seorang ibu dapat memiliki banyak anak, tetapi seorang anak hanya dapat memiliki
satu ibu.
o Banyak ke banyak (M:N)
Misalnya: seorang paman dapat memiliki banyak keponakan, sementara itu seorang keponakan
dapat memiliki banyak paman.
Modalitas
Modalitas dari suatu hubungan adalah nol bila tidak ada kebutuhan eksplisit untuk hubungan yang
terjadi atau hubungan itu bersifat opsional. Modalitas bernilai satu jika suatu kejadian dari hubungan
Brahmantyo- Pemodelan Analisis
4
4.2.3. Entity Relational Diagram
Pada mulanya digunakan untuk desain sistem database relational dan telah dikembangkan oleh
yang lainnya. Serangkaian komponen utama diidentifikasikan untuk ERD: obyek data, atribut,
hubungan dan berbagai tipe indicator. Tujuan utama dari ERD adalah untuk mewakili obyek data dan
hubungan mereka.
4.3. Pemodelan Fungsional dan Aliran Informasi.
Informasi ditransformasikan pada saat dia mengalir melalui sebuah sistem berbasis komputer.
Sistem tersebut menerima input dengan berbagai cara dan menghasilkan suatu output. Akibatnya kita
dapat menciptakan suatu model aliran bagi setiap sistem berbasis komputer tanpa melihat ukuran dan
kompleksitasnya.
4.3.1. Diagram Aliran Data/ Data Flow Diagram (DFD)
Merupakan sebuah teknik grafis yang menggambarkan aliran informasi dan transformasi yang
diaplikasikan pada saat data bergerak dari input menjadi output.
Brahmantyo- Pemodelan Analisis
5
Komponen-komponen DFD :
o Proses
o External entity
o Data Flow
o Data Store
Proses
o Simbol proses adalah :
o Proses menunjukkan apa yang dikerjakan oleh sistem
o Setiap proses memiliki nama yang unik dan nomor yang ditempatkan dalam simbol.
File atau Data Store
o Simbol :
o File atau Data Store adalah tempat penyimpanan data
o Proses dapat menempatkan data ke dalam data store atau mengambil / mendapatkan data store
o Setiap data store mempunyai nama yang unik
External Entity
Simbol :
External entity adalah di luar sistem, tetapi mereka merupakan salah satu bagian yang memberikan
input data ke dalam sistem atau digunakan oleh output sistem
Source : External entity yang memberikan input data ke dalam sistem
Sinks : External entity yang menggunakan data sistem
Data Flow
Simbol : Ö anak manah menunjukkan arah aliran
Aliran data pada sistem :
antara dua proses
Brahmantyo- Pemodelan Analisis
6 dari sebuah data store ke sebuah proses
dari sebuah proses ke sebuah data store
dari sebuah source ke sebuah proses
dari sebuah proses ke sebuah sink
Menggambarkan Sistem Dengan Dataflow Diagram
Langkah awal adalah membuat “DIAGRAM KONTEKS”
Diagram konteks : DFD di mana sistem terdiri dari satu proses
Pada tahap ini terlihat semua external entity yang berinteraksi dengan sistem dan data flow, antara
external entity dan sistem
Contoh : BUDGET ALLOCATION
REQUEST FOR SPECIAL APPROVAL
SPENDING SUMMARIES
PART ORDER
SUPPLIER DELIVERY ADVICE DELIVERY ADVICE
REJECTED
REQUEST
Diagram Konteks
Budget monitoring system
System berinteraksi dengan 3 external entity, yaitu :
DEPARTEMENTS
MANAGEMENTS
SUPPLIERS
Aliran data utama dari Departements adalah “Spending Request”.
Sebagai tanggapan dari sistem, Departemen menerima “Rejected Request” atau aliran data “Delivery Advice”
Brahmantyo- Pemodelan Analisis
7 Management juga mengirim data flow “Budget Allocation” ke sistem dan mendapatkan data
flow “Spending Summaries”
Supplier menerima data flow “Part Order” dan mengembalikan data flow “Supplier Delivery Advice”
Setelah mendapatkan “Diagram Konteks”, langkah selanjutnya adalah membuat DFD yang
memperlihatkan proses dari sistem utama, yang dinamakan dengan TOP LEVEL DFD
1
RESPONSE TO SPECIAL APPROVAL
REQU PART ORDER
SUPPLIER DELIVERY ADVICE DELIVERY ADVICE
Top Level DFD dari Diagram Konteks
Top level DFD memperlihatkan berbagai proses yang membentuk sistem
Setiap proses mempunyai sebuah nama unik dan nomor proses
Dari DFD di atas kita lihat bahwa data flow “Spending Request” dari Departements menuju ke proses “Check Funding”. Proses “Check Funding” melihat “Allocated Budget” dan
menetapkan apakah izin khusus diperlukan dari management untuk diteruskan ke permintaan.
Brahmantyo- Pemodelan Analisis
8 Akhirnya, jika diperlukan, “Part Order” untuk menetapkan bagian ( part ) semula dalam
“Spending Request” diurus oleh supplier.
Dua proses lainnya : “Setup Budget” dan “Provide Spending Summaries”
Kita dapat memperluas setiap proses pada Top Level DFD. Sebagai contoh diambil proses “Classify Expenditure”
3.1 CLASSIFY
EXPENSE BY TYPE
Brahmantyo- Pemodelan Analisis
9
3.1 CLASSIFY
EXPENSE BY TYPE
3.2
= Dept_no + Request_no + (Amount + Descrip.)
Amend the expense docket reading the description for
each request item and classifying it by type
= Dept_no + Request_no + (Amount + Type)
For each request item irv request docket * get ACCOUNT for TYPE from store TYPE_ACCOUNTS
* sum TOTAL_AMOUNT = TOTAL_AMOUNT + AMOUNT * write TYPE_ACOUNT back to store TYPE_ACOUNTS
= DEPT_NO + REQUEST_NO + REQUEST_SUM
= DEPT_NO + REQUEST_NO + REQUEST_SUM
DESKIPSI DATA STORE
DESKRIPSI PROSES
DESKRIPSI DATA FLOW
KETERANGAN
DEPARTEMENTAL ACCOUNTS
= DEPT_NO + TOTAL_EXP
Get departement accounts for DEPT_NO from data store DEPARTEMENTAL-ACCOUNTS TOTAL_EXP = TOTAL_EXP + REQUEST_TOTAL write departemental accounts back to data store
3.3 SUM TOTAL
= DEPT_NO request + REQUEST_NO +
(AMOUNT)
For each requesition REQUEST_SUM = REQUEST_SUM + AMOUNT
TYPE ACCOUNTS
= Type + Total - Amount
Data Flow Diagram yang baik : Ketiadaan dari struktur flowchart
Penyimpanan data
Penamaan yang baik
Perbedaan antara Flowchart dan Data Flow Diagram : Flowchart terdiri dari box-box yang mendeskripsikan :
Komputasi
Decision / Keputusan
Iterasi
Brahmantyo- Pemodelan Analisis
10
Data Flow Diagram bukan Flowchart program dan tidak mempunyai elemen kontrol
DFD yang baik harus :
Tidak mempunyai aliran data yang split up ke dalam sejumlah aliran data lain
COMPUTE INCOME SALES
DATA
PROFIT
LOSS
Tidak mempunyai garis yang berpotongan
Tidak terdapat iterasi antara 2 proses ; 1 proses dengan dirinya sendiri
GET NEXT DOCKET
SALES DOCKET
ASK FOR MORE
ADD TO DAILY SALES
TOTAL SALES AMOUNT
Tidak mengandung aliran data yang berfungsi sebagai signal untuk mengaktifkan suatu proses
PREPARE MONTHLY INVOICE
TRANSACTIONS
END OF MONTH
Brahmantyo- Pemodelan Analisis
11
Bagaimana membuat : Decisions dan Interactive Control Decisions dalan DFD
CHECK ITEM AVAILABILITY
INVENTORY-RECORD
UNMET-REQUEST
UNVAILABLE NOTE
DELIVERY NOTE
= ITEM_NO + QTY_HELD
= REQ_NO + ITEM_NO + QTY_NEEDED
= REQ_NO + ITEM_NO + QTY_NEEDED
ITEM
-REQ
UEST
find INVENTORY_RECORD with ITEM_NO in INVENTORY_RECORD = ITEM_NO in ITEM-REQUEST
if QTY_HELD in INVENTORY_RECORD < QTY_NEEDED in ITEM-REQUEST then write UNMET_REQUEST send
UNAVAILABLE NOTE else send DELIVERY NOTE
Perulangan dalam DFD
COMPUTE DAILY SALES
SALES DOCKET TOTAL SALES
= ITEM_NO +
QTY_SOLD + PRICE = DAILY_SALES_TOTAL
REPEAT FOR ALL SALESDOCKET BEGIN
SALES_AMOUNT = QTY_SOLD * PRICE
DAILY_SALES_TOTAL = DAILY_SALES_TOTAL + SALES_AMOUNT END
SEND 'TOTAL SALES'
Penyimpanan Data
Data store tidak boleh membuat “elemen data” baru
Proses juga tidak dapat membuat data baru ; hanya mengambil data dan mengeluarkannya ke
dalam sebuah bentuk data baru
Brahmantyo- Pemodelan Analisis
12
1.
PURCH ASE
D_ITEM
RETRIE VE_ = ITEM_NAME + ITEM_PRICE
= ITEM_NAME + QTY
Item data QTY hilang setelah melalui proses “Retrieve-Item Price”
2.
COMPUTE DISK UTILIZATION DISK ACCESS
SPECIFICATION
AVERAGE DISK TRANSFER TIME
CHANNEL USE PER DAY
“Channel Use Per Day” Ö output
Tetapi tidak ada informasi masukkan tentang jumlah disk yang masuk setiap hari
3.
Gunakanlah nama-nama yang berarti, baik untuk data flow, maupun proses. Pada contoh tersebut penamaan untuk data flow dan proses tidak jelas.
Beberapa petunjuk dalam pemakaian nama ( penamaan ) 1. Penamaan “Proses”
Nama proses harus frase tunggal dan dapat mendeskripsikan suatu proses dalam sebuah kalimat
Nama proses harus mendefinisikan kegiatan / aksi yang spesifik
Contoh :
Mengedit
Menghitung gaji mingguan
KERJA / OPERASI DEPARTEMEN
Brahmantyo- Pemodelan Analisis
13 Menghitung diskon pada pesanan
dan lain-lain
Jika suatu proses menangani beberapa proses, maka harus dipecah menjadi beberapa proses
2. Penamaan Data Store
Gunakan nama yang khas / spesifik
Ingat bahwa setiap data store hanya berisi satu set struktur data
Contoh
Machine_Schedules and Parts_Used
Æ
pisahkan ke dalam 2 data store
3. Penamaan Data Flows antara Proses
Gunakan 1 kata / frase. Contoh : “Kuitansi” , “Cek” , dan sebagainya
Jangan menggunakan nama yang sama untuk setiap data flow
Lihat gambar :
Pada ( a ) data flow “Invoice” yang masuk ke “Edit Invoice” , keluar “Invoice” Ö Jangan pakai nama yang sama.
Output dari “Make Payment” adalah “Cheque”. “Cheque” juga dipakai untuk data flow yang menghubungkan external entity “Customer” dan proses “Receive Payment”. Bedakan
nama kedua data flow tersebut !!!!
Brahmantyo- Pemodelan Analisis
SUPPLIER CUSTOMER
INV
= ACCOUNT_NO + AMOUNT + SUPPLIER_NAME
INVOICE
SUPPLIER CUSTOMER
INV
= ACCOUNT_NO + AMOUNT + SUPPLIER_NAME
VERIFIED Pembuatan Aliran Material
Brahmantyo- Pemodelan Analisis
15
MEMPERSIAPKAN PENGIRIMAN
TOKO
MENCATAT PENGIRIMAN
RUANG MESIN CATATAN PENGIRIMAN
TEMPAT
ALIRAN FISIKAL