BAB IV PEMODELAN ANALISIS halaman : 1 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 Membatasi serangkaian persyaratan yang dapat divalidasi begitu perangkat lunak dibangun.
Untuk mencapai sasaran tersebut dibuatlah model analisis yang berisi: halaman : 2 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
Atribut halaman : 3 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.
4.2.3. Entity Relational Diagram halaman : 4 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. Dikenal juga dengan sebutan grafik aliran data atau buble chart.
Komponen-komponen DFD : halaman : 5 o Proses o External entity o Data Flow o Data Store Proses o Simbol proses adalah : o o Proses menunjukkan apa yang dikerjakan oleh sistem 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 : CUSTOMERS 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
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 halaman : 6 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 : DEPARTEMENTS REJECTED SPENDING DELIVERY ADVICE BUDGET ALLOCATION BUDGET MONITORING SYSTEM FOR SPECIAL APPROVAL RESPONSE TO SPECIAL APPROVAL MANAGEMENT SPENDING SUMMARIES PART ORDER SUPPLIER DELIVERY ADVICE Diagram Konteks SUPPLIER 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
halaman : 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 DEPARTEMENTS REJECTED SPENDING 2 SETUP BUDGET BUDGET ALLOCATION MANAGEMENT SPENDING SUMMARIES 1 CHECK FUNDING ALLOCATED BUDGET FOR SPECIAL APPROVAL RESPONSE TO SPECIAL APPROVAL 4 PROVIDE SPENDING SUMMARIES SUSPENDED APPROVED DEPARTEMENT ACCOUNTS 3 CLASSIFY EXPENDITUR TYPE ACCOUNTS RECORDED PART ORDER SUPPLIERS DELIVERY ADVICE 5 ORGANIZE SUPPLIER SUPPLIER 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 dimasukkan pada data store Departemental-Accounts dan Type-Accounts.
halaman : 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 APPROVED 3.1 CLASSIFY EXPENSE BY TYPE TYPE ACCOUNTS DEPARTEMENTAL ACCOUNTS 3.3 SUM TOTAL CLASSIFIED UPDATE 3.2 UPDATE TYPE ACCOUNT RECORDED 3.4 UPDATE DEPARTEMEN- TAL RECORD TOTAL
halaman : 9 = Dept_no + Request_no + (Amount + Descrip.) APPROVED Amend the expense docket reading the description for each request item and classifying it by type 3.1 CLASSIFY EXPENSE BY TYPE = Dept_no + Request_no + (Amount + Type) CLASSIFIED 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 KETERANGAN 3.2 UPDATE TYPE ACCOUNT TYPE ACCOUNTS = Type + Total - Amount DESKIPSI DATA STORE DESKRIPSI PROSES DESKRIPSI DATA FLOW UPDATE = DEPT_NO request + _NO + (AMOUNT) DEPARTEMENTAL ACCOUNTS = DEPT_NO + TOTAL_EXP TOTAL 3.3 SUM TOTAL = DEPT_NO + _NO + _SUM For each requesition _SUM = _SUM + AMOUNT RECORDED 3.4 UPDATE DEPARTEMEN- TAL RECORD = DEPT_NO + _NO + _SUM Get departement accounts for DEPT_NO from data store DEPARTEMENTAL-ACCOUNTS TOTAL_EXP = TOTAL_EXP + _TOTAL write departemental accounts back to data store 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 Loop
halaman : 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 PROFIT SALES DATA COMPUTE INCOME LOSS Tidak mempunyai garis yang berpotongan Tidak terdapat iterasi antara 2 proses ; 1 proses dengan dirinya sendiri SALES GET NEXT DOCKET DOCKET ASK FOR MORE ADD TO DAILY SALES TOTAL SALES AMOUNT Tidak mengandung aliran data yang berfungsi sebagai signal untuk mengaktifkan suatu proses END OF MONTH TRANSACTIONS PREPARE MONTHLY
Bagaimana membuat : Decisions dan Interactive Control Decisions dalan DFD halaman : 11 INVENTORY-RECORD= ITEM_NO + QTY_HELD UNMET-= REQ_NO + ITEM_NO + QTY_NEEDED ITEM- CHECK ITEM AVAILABILITY UNVAILABLE NOTE DELIVERY NOTE = REQ_NO + ITEM_NO + QTY_NEEDED find INVENTORY_RECORD with ITEM_NO in INVENTORY_RECORD = ITEM_NO in ITEM- if QTY_HELD in INVENTORY_RECORD < QTY_NEEDED in ITEM- then write UNMET_ send UNAVAILABLE NOTE else send DELIVERY NOTE Perulangan dalam DFD SALES DOCKET = ITEM_NO + QTY_SOLD + PRICE COMPUTE DAILY SALES TOTAL SALES = 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 Beberapa contoh kesalahan penggunaan prinsip penyimpanan data :
halaman : 12 1. PURCHASED_ITEM = ITEM_NAME + QTY PRICE_LIST RETRIEVE ITEM PRICE RETRIEVE_ITEM = ITEM_NAME + ITEM_PRICE COMPUTE DISCOUNT CUSTOMERS 2. Item data QTY hilang setelah melalui proses Retrieve-Item Price AVERAGE DISK TRANSFER TIME DISK ACCESS SPECIFICATION COMPUTE DISK UTILIZATION 3. Channel Use Per Day output CHANNEL USE PER DAY Tetapi tidak ada informasi masukkan tentang jumlah disk yang masuk setiap hari memerlukan data KERJA / OPERASI DEPARTEMEN informasi 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
Menghitung diskon pada pesanan halaman : 13 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!!!! DFD ( b ) memperbaiki beberapa kesalahan pada DFD ( a )
halaman : 14 SUPPLIER CHEQUE MAKE PAYMENT RECEIVE PAYMENT CHEQUE CUSTOMER EDIT AMOUNT SUPPLIER + APPROVED S SUPPLIER_NAME + AMOUNT APPROVED AMOUNT ACCOUNT_NO + ACCOUNT = ACCOUNT_NO + AMOUNT + SUPPLIER_NAME VERIFY APPROVE PAYMENT gambar ( a ) SUPPLIER SUPPLIER CHEQUE MAKE PAYMENT RECEIVE PAYMENT CUSTOMER CHEQUE CUSTOMER EDIT EDITED AMOUNT SUPPLIER + APPROVED S SUPPLIER_NAME + AMOUNT APPROVED AMOUNT ACCOUNT_NO + ACCOUNT = ACCOUNT_NO + AMOUNT + SUPPLIER_NAME VERIFY VERIFIED APPROVE PAYMENT gambar ( b ) Pembuatan Aliran Material DFD digunakan untuk aliran informasi, bukan aliran material. Tetapi kadang-kadang aliran material diperlukan. Caranya????
halaman : 15 MEMPERSIAPKAN PENGIRIMAN CATATAN PENGIRIMAN MENCATAT PENGIRIMAN TOKO TEMPAT RUANG MESIN ALIRAN FISIKAL LOKASI FISIKAL DARI AKTIFITAS