Brahmantyo- Pemodelan Analisis 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 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 perangkat lunak
Brahmantyo- Pemodelan Analisis • 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 merupakan perintah.
Brahmantyo- Pemodelan Analisis 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 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 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 MONITORING SYSTEM DEPARTEMENTS SUPPLIER MANAGEMENT S P E N D IN G R E Q U E S T RES PO NSE TO SPEC IAL APPR OVA L 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”
Management menerima data flow “Request For Special Approval”, yang kemudian memberikan respons
Brahmantyo- Pemodelan Analisis
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 CHECK FUNDING 2 SETUP BUDGET 3 CLASSIFY EXPENDITUR 4 PROVIDE SPENDING SUMMARIES 5 ORGANIZE SUPPLIER A PPR OVED RE QU EST RE C OR D ED RE QU EST ALLOCATED BUDGET DEPARTEMENTS SP E N D IN G R EQ U E ST R E JE C TE D R EQ U E ST SUSPENDED REQUEST MANAGEMENT BUDGET ALLOCATION RESPONSE TO SPECIAL APPROVAL REQU EST F OR S PECI AL APPR OVAL SPENDING SUMMARIES DEPARTEMENT ACCOUNTS TYPE ACCOUNTS SUPPLIERS 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. Data flow “Approved Request” menuju ke proses “Classify Expenditure”, dan kemudian
Brahmantyo- Pemodelan Analisis
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 3.2 UPDATE TYPE ACCOUNT 3.3 SUM TOTAL 3.4 UPDATE DEPARTEMEN-TAL RECORD APPRO VED REQU EST CLA SSIFIED REQU EST UPDA TE REQU EST REQU EST TOTA L RECO RDED REQU EST TYPE ACCOUNTS DEPARTEMENTAL ACCOUNTS
Brahmantyo- Pemodelan Analisis 3.1 CLASSIFY EXPENSE BY TYPE 3.2 UPDATE TYPE ACCOUNT 3.4 UPDATE DEPARTEMEN-TAL RECORD A PPR O VE D R EQUE ST CLA S SIFI ED R EQU EST UPD ATE RE QUE ST RE QU EST TO TAL RE CO RD ED REQU EST = 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
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 INVOICE
Brahmantyo- Pemodelan Analisis 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 1. PURCH ASE D_ITEM RETRIE VE_ ITEM RETRIEVE ITEM PRICE COMPUTE DISCOUNT PRICE_LIST CUSTOMERS = 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 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 MAKE PAYMENT RECEIVE PAYMENT EDIT INVOICE VERIFY INVOICE APPROVE PAYMENT APPROVED INVOICES ACCOUNT SUPPLIER CUSTOMER INV O ICE CHEQUE SU PPLI E R + A M OUNT APP ROV ED INVOIC E SU PP LIER _N AM E + AM OU N T A C COUNT _ NO + A M OUNT CHEQUE = ACCOUNT_NO + AMOUNT + SUPPLIER_NAME INVOICE INV OI CE gambar ( a ) Æ MAKE PAYMENT RECEIVE PAYMENT EDIT INVOICE VERIFY INVOICE APPROVE PAYMENT APPROVED INVOICES ACCOUNT SUPPLIER CUSTOMER INV O ICE SUPPLIER CHEQUE SU PPLI E R + A M OUNT APP ROV ED IN VOICE SU PP LIER _N AM E + AM O UN T A CCOUNT _NO + A M OUNT CUSTOMER CHEQUE = ACCOUNT_NO + AMOUNT + SUPPLIER_NAME VERIFIED INVOICE ED ITE D IN VOICE gambar ( b )
Pembuatan Aliran Material
DFD digunakan untuk aliran informasi, bukan aliran material. Tetapi kadang-kadang aliran material diperlukan. Caranya ????
Brahmantyo- Pemodelan Analisis MEMPERSIAPKAN PENGIRIMAN TOKO MENCATAT PENGIRIMAN RUANG MESIN CATATAN PENGIRIMAN TEMPAT ALIRAN FISIKAL LOKASI FISIKAL DARI AKTIFITAS