Model Development Chapter 6 – Session 1 Metode Pengembangan Perangkat Lunak M.P.P.L Irfan Santiko , S.Kom ,. M.Kom . (Dr.) 2022
DFD Definition Adalah suatu diagram yang menggunakan notasi-notasi untuk menggambarkan arus dari data sistem, yang penggunaannya sangat membantu untuk memahami sistem secara logika, tersruktur dan jelas. Digunakan sebagai perangkat penting dalam memodelkan sistem
Data Flow Diagram Penggunaan DFD dipopulerkan oleh DeMarco – Yordan dan Gane – Sarson dengan menggunakan pendekatan Metoda Analisis Sistem Terstruktur (SSADM).
DFD Symbol DeMarco – Yordan Symbols Keterangan Gane – Sarson Symbols External Entity ( Kesatuan Luar ) Process ( Proses ) Data Flow ( Aliran Data) Data Store ( Penyimpanan Data)
External Entity Entitas (kesatuan) diluar sistem yang akan dimodelkan. Memberikan input atau menerima output dari/ke sistem. Berupa orang, organisasi, sumber informasi lain atau penerima akhir suatu laporan Contoh : Mahasiswa Yayasan
External Entity : Entitas Yang Berada Diluar Sistem, Yang Memberikan Data Kepada Sistem (Source) Atau Yang Menerima Informasi Dari Sistem (Sink), Dapat Berupa Orang, Organisasi Dll. Tidak Termasuk Bagian Dari Sistem. Terminal Tidak Boleh Memiliki Nama Yang Sama Kecuali Memang Objeknya Sama ( Digambarkan 2 X, Bila Demikian Perlu Diberi Garis Miring.
Process ( Proses ) Merupakan pekerjaan atau kegiatan yang dilakukan orang atau komputer, dimana aliran data masuk, ditransformasikan ke aliran data keluar Contoh : 1.0 Pembuatan Slip 1 Hitung Gaji Pegawai
Proses (Process) Proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari input arus data untuk menghasilkan output arus data Identi- fikasi Nama Proses identifikasi Nama Proses Pemroses ATAU Gane & Sarson Yourdon 2 Hitung Gaji Personalia Contoh:
Proses Suatu Proses Adalah Kegiatan Atau Kerja Yang Dilakukan Oleh Orang , Mesin Atau Komputer Dari Hasil Arus Data Yang Masuk Ke Dalam Proses Untuk Dihasilkan Arus Data Yang Akan Keluar Dari Proses . Menggambarkan Apa Yang Dilakukan Oleh Sistem . Berfungsi Mentrans Formasikan Satu Atau Beberapa Data Keluaran Sesuai Dengan Spesifikasi Yang Diinginkan . Setiap Proses Memiliki Satu Atau Beberapa Data Masukan Serta Menghasilkan Satu Atau Beberapa Data Keluaran Proses Sering Juga Disebut Sebagai Bubble. Nama Proses Terdiri Dari Kata Kerja Dan Kata Benda Yang Mencerminkan Fungsi Proses Tersebut , Misalnya : Hitung Gaji , Pendataan Order, Cetak Laporan Penjulan . Jangan Mengugunakan Kata ‘ Proses ’ Sebagai Bagian Dari Nama Suatu Proses (Bubble ).
Data Flow ( Arus Data) Menggambarkan aliran data dari satu proses ke proses lain Menggunakan anak panah Contoh bentuk penggunaan : Laporan tercetak yang dihasilkan sistem Output pada layar komputer Masukan untuk komputer Komunikasi ucapan Dsb…
Data Flow Concept – Cont. Convergen Data Flow ( Arus data Mengumpul) Arus data yang mengumpul, yaitu Arus data yang berbeda dari sumber yang berbeda mengumpul ke tujuan yang sama
Data Store ( Penyimpanan Data) Dapat berupa suatu file atau suatu sistem database dari suatu komputer, suatu arsip/dokumen, suatu agenda/buku`
Data Store Tempat Menyimpan Data (Database= File/Table, Arsip,buku Catatan ). Proses Dapat Mengambil Data Dari Atau Memberikan Data Ke Data Store. Nama Data Store Harus Mencerminkan Isi Dari Data Store Tersebut . Bila Namanya Lebih Dari Satu Kata , Maka Harus Diberi Kata Sambung .
Mencegah proses yang mempunyai masukan tetapi tidak mempunyai keluaran yang dikenal dengan lubang hitam (black-hole) Mencegah proses yang mempunyai keluaran tetapi tidak punya masukan , misalnya penghasil bilangan acak . Hati-hati dengan aliran dan proses yang tidak dinamakan karena dapat mengakibatkan elemen data yang saling tidak berhubungan menjadi satu . Hati-hati dengan penyimpanan yang punya status hanya dapat dibaca atau hanya dapat ditulis dan berkaitan dengan proses yang hanya memproses masukan atau hanya memproses keluaran . Hal-Hal “HARAM” dalam DFD
Langkah-langkah pembuatan DFD Identifikasi semua kesatuan luar yang terlibat dengan sistem Identifikasi input dan output yang berhubungan dengan kesatuan luar Buatlah gambaran dari konteks diagram
Level DFD DFD dapat diturunkan kedalam beberapa level dimana level yang rendah harus bisa mereprensentasikan proses tersebut dalam spesifikasi proses yang lebih jelas
Diagram 0 Setelah pembuatan kontext akan dilanjutkan dengan pembuatan : DFD level 0 : Penggambaran context diagram yang lebih rinci (overview diagram) Hal Yang harus diperhatikan : Dapat memperlihatkan data store yang digunakan Keseimbangan antara diagram kontex dan diagram nol harus dipelihara
Diagram Rinci DFD level 1: Tiap-tiap proses level 0 akan digambarkan rinci Hal Yang harus diperhatikan : Keseimbangan data store yang digunakan Keseimbangan aliran data antara diagram nol dan diagram rinci
CONTEXT DIAGRAM THE SYSTEM NOL 2.0 NAMA PROSES2 NOL 1.0 NAMA PROSES1 NOL 3.0 NAMA PROSES3 RINCI 1.2 RINCI 1.3 RINCI 1.1
NOL 2.0 NAMA PROSES 2 RINCI 2.1.1 RINCI 2.1 RINCI 2.1 RINCI 2.1.2 RINCI 2.1.3
Peraturan Penting DFD Semua objek harus memiliki nama Aliran data harus diawali dan diakhiri oleh proses Semua aliran data harus memiliki tanda panah
Teknik Membuat DFD Identifikasi Nama Setiap External Entity. Entitas Yang Berada Diluar Sistem , Yang Memberikan Data Kepada Sistem (Source) Tau Yang Menerima Informasi Dari Sistem (Sink), Dapat Berupa Orang, Organisasi Dll . B. Tidak Termasuk Bagian Dari Sistem Artinya External Entity Tidak Pernah Melakukan Proses Baca Atau Tulis Didalam Tempat Penyimpanan Data (Data Store). C. Nama Terminal (External Entity) Berupa Kata Benda. Contoh : Pelanggan , Pemasok , Manajer , Gudang Dll .
Menggambarkan Sistem Yang Berjalan Menggunakan DFD Prosedur Sistem yang Sedang Berjalan Konsumen atau pelanggan datang langsung atau dapat memesan melalui via telepon ke Toko Hegar untuk membeli bahan – bahan / Material yang mereka butuhkan. Setelah itu Pegawai Toko Hegar akan mengecek persediaan / Stok Barang dengan kondisi : Apakah barang yang di pesan ada / tidak dan cukup / tidak ?. Apabila barang yang dipesan tidak ada maka pegawai akan melakukan penolakan atas barang yang dipesan tersebut. Jika barang yang di pesan ada dan pelanggan / Konsumen akan membayar pesanannya tersebut secara tunai maka Petugas akan membuatkan Nota Penjualan yang akan diberikan pada pelanggan dan copy nota penjualan tersebut akan diberikan kepada Pegawai Toko Hegar. Namun jika mereka adalah pelanggan tetap yang ingin membayar secara kredit / Tempo maka petugas akan memberikan nota penjualan dan nota piutang kepada pelanggan.
Menggambarkan Sistem Yang Berjalan Menggunakan DFD Dan copy nota piutang akan diberikan ke pegawai yang kemudian akan digunakan untuk menagih piutang kepada yang bersangkutan berdasarkan tanggal akhir jatuh tempo piutang. Jika pelanggan membeli bahan – bahan / material melalui via telepon atau meminta bahan – bahan / Material yang mereka di beli untuk diantarkan ketempat mereka, maka petugas akan memberikan surat jalan. Apabila barang tersebut telah sampai maka pelanggan / Konsumen akan memberikan copyan surat jalan yang telah ditanda tangani kepada sopir pengantar barang lalu kemudian sopir tersebut akan memberikan copyan surat jalan tadi kepada pegawai sebagai bukti bahwa barang telah selesai diantarkan ketempatnya. J ika ternyata Stok Barang tertentu habis maka pegawai akan melakukan pembelian barang kepada suplier – supliernya berdasarkan barang yang telah habis.
Menggambarkan Sistem Yang Berjalan Menggunakan DFD Pegawai akan memberikan daftar pemesan barang ke suplier lalu kemudian suplier akan memberikan informasi apakah barang yang dipesan ada / tidak. Jika ada maka barangnya akan langsung diberikan kepada pegawai oleh Toko Hegar yang disertai dengan nota dan faktur pembelian. Setiap harinya pegawai akan memberikan setiap nota penjualan dan pembelian barang kepada direktur Toko Hegar.
Bentuk DFD Konteks
Bentuk DFD Nol
UML UNIFIED MODELLING LANGUAGE
Diagram UML Use Case Activity Sequence Colaboration Class Statechart Componen Deployment
Analisys phase (OOA-object oriented analisys) OOA – teknik semiformal -> notasi grafis dari semua langkah analisis
Langkah langkah OOA Use – Case Modelling Class Modelling Dinamic Modelling
Use Case Modelling Menentukan berbagai hasil yang akan di komputasi oleh produk perangkat lunak dengan mengabaikan urutan pembuatannya. ( clasical object oriented analisys ) Use case diagram dihubungkan dengan skenario yang dibuat pada tahap requirement analisys
USE CASE Pengendalian Pengajaran
Class Modelling Menentukan kelas, atribut dan hubungan antar kelas. Pada tahap ini belum menentukan method method (fungsi) karena akan dilakukan pada tahap desain – prakteknya kadang bisa dilanggar Salah satu cara penentuan kelas adalah mencari kandidat kelas yang berasal dari use case
Class modelling (cont) Cara sederhana adalah dengan mengkoleksi kata benda dalam skenario atau dari use-case Cara yang kedua dengan memanfaatkan CRC card (class responsibility – collaboration)
CRC Card
CRC (class responsibility – collaboration) adalah sebuah teknik untuk mengecek adanya interaksi antar obyek Sebelah kiri berisi tanggung jawab, sebelah kanan berisi kelas yang melaksanakan tanggung jawab tersebut Dari sini akan didapatkan satu set kelas dan tanggungjawabnya serta kelas lain yang berhubungan dengan kelas tersebut
Class Diagram
Dinamic Modelling Menentukan aksi yang di lakukan oleh masing masing kelas dan subkelas Menggunakan state diagram.
State diagram presensi
Design Phase (Object Oriented Design) Membuat diagram interaksi untuk setiap skenario -> sequence diagram, collaboration diagram Melengkapi diagram kelas secara detail termasuk method methodnya, class diagram Merancang produk Component diagram Deployment Diagram
Sequence Diagram
Diagram Kolaborasi
Diagram Komponen
Diagram Deployment
KONSENTRASI KE KELAS Kelas merupakan dokumen yang paling dekat dengan program yang akan menjadi produk dari pengembangan aplikasi berbasis obyek Dokumen lain dalam tahap pengembangan perangkat lunak berorientasi obyek sebenarnya harus di buat, bahkan jika diperlukan boleh menambahkan dokumen lain seperti ERD, DFD atau dokumen lain yang dianggap perlu untuk memperjelas rancangan.
Hubungan Antar Kelas ASOSIASI Ketergantungan (Dependensi)
ASOSIASI Ascociation Relasi antara 2 elemen dimana keduanya punya posisi yang sama, tidak ada yang lebih penting diantara keduanya. Asosiasi antara penjual dan pembeli Bidirectional Ascociation Asosiasi antara 2 elemen dimana elemen pertama bertanggungjawab menentukan elemen yang lainnya. Unidirectional Ascociation Asosiasi dimana kelas asal bertanggung jawab terhadap spesifikasi member dari kelas tujuan Unidirectional ascociation -> kelas asal yg tahu asosiasi ini sedangkan kelas tujuan tidak perlu tahu Contoh kelas reporttransfer ->kelas rekening Class Asscociation Kelas yang berisi informasi tentang asosiasi yang terjadi antara 2 kelas.
Composition Composition Relasi antara 2 elemen dimana elemen child akan terdelete secara cascade pada saat parent elemen terdelete. Contoh : Email dengan body Navigable Compisition Relasi komposisi dimana kelas asal bertanggung jawab atas spesifikasi kelas tujuan
Aggregation Agregation Relasi antara dua elemen dimana satu kelas memiliki peran yang lebih penting dibanding kelas yang lain, satu kelas adalah bagian dari kelas lain. Standar agregasi kelas yg menjadi bagian memliki lifecycle yang independent dari kelas yg memilikinya Contoh : Mobil dengan roda Navigable Agregation Agregasi dimana kelas asal bertanggung jawab mengatur spesifikasi member dari kelas tujuan
Hubungan saling ketergantungan Dependency Realize Usage Permission Abstraction
Dependency Relasi antara 2 elemen dimana definisinya saling tergantung satu dengan yang lainnya sehingga perubahan pada satu elemen akan menimbulkan perubahan pada elemen yang lain. Sebagai contoh ketika satu kelas menggunakan kelas lain sebagai parameter atau tipe data dari salah satu atributnya.
Realize Relasi semantic antara “classifier” (penentu) . Satu menjadi penentu dan menjamin bahwa ketentan tersebut akan di realisasikan. Relasi seperti ini terjadi antara interface dan kelas yang meng-implementasikannya serta antara Use case dengan colaborasi yang merealisasikannya.
Usage Hubungan ketergantungan antara satu elemen (clien) membutuhkan keberadaan dari elemen yang lain (supplier) untuk diimplementasikan atau digunakan dengan benar.
Permission Hubungan yang akan mengesahkan akses dari elemen supplier kepada elemen clien.
Abstraction Hubungan antara 2 elemen yang merepresentasikan konsep yang sama dalam level abstraksi yang berbeda. Entitas dengan karakteristik esensial yang membedakannya dengan semua jenis entity yang lain. Abstraksi mendifinisikan batasan dari perspektif viewer.