Dasar Dasar Perancangan Perangkat Lunak
Metodologi pengembangan sistem berarti adalah metode-metode, prosedur-prosedur, konsep-konsep pekerjaan, aturan-aturan yang akan digunakan untuk mengembangkan suatu sistem informasi. Dengan mengikuti metode atau prosedur-prosedur yang diberikan oleh suatu metodologi, maka pengembangan sistem diharapkan akan dapat diselesaikan dengan berhasil. Urut-urutan prosedur untuk pemecahan masalah ini dikenal dengan istilah algoritma (algorithm).
Klasifikasi Metodologi Pengembangan Sistem Metodologi pengembangan sistem diklasifikasikan menjadi 3 (Tiga) golongan yaitu : Metodologi Pemecahan fungsional (Functional decomposition methodologies) Metodologi orientasi data (Data oriented methodologies) Prescriptive methodologies
Metodologi Pemecahan fungsional (Functional Decomposition Methodologies) Menekankan pada pemecahan dari sistem ke dalam subsistem‐subsistem yang lebih kecil, sehingga lebih mudah dipahami, dirancang dan diterapkan. Yang termasuk metodologi ini : ‐ HIPO (Hierarchy Input Process Output ) Stepwise refinement (SR) atau Iterative Stepwise Refinement ( ISR) Information hiding
Stepwise Refinement Metode desain sederhana yang realistik, banyak digunakan dalam prakteknya. Tidak umum digunakan untuk skala besar sistem distribusi : Diaplikasikan terutama untuk metode desain. Ide Utama adalah : Dimulai dengan spesifikasi yang memiliki tingkatan yang tinggi dari metode yang dicapai Memecah permasalahan menjadi bagian yang kecil-kecil (terkadang tidak lebih dari 10) Untuk masing-masing masalah dilakukan dengan cara yang sama. Ulangi sampai bagian dari masalah mungkin dapat diselesaikan.
Stepwise Refinement
HIPO (Hierarchy plus Input-Output) Untuk menyediakan suatu struktur guna memahami fungsi-fungsi dari sistem. Untuk lebih menekankan fungsi-fungsi yang harus diselesaikan oleh program, bukannya menunjukkan statemen-statemen program yang digunakan untuk melaksanakan fungsi tersebut. Untuk menyediakan penjelasan yang jelas dari input yang harus digunakan dan output yang harus dihasilkan oleh masing-masing fungsi pada tiap-tiap tingkatan dari diagram-diagram HIPO. Untuk menyediakan output yang tepat dan sesuai dengan kebutuhan-kebutuhan pemakai.
Information Hiding adalah menyembunyikan attribute suatu objek dari objek lain. Encapsulation adalah menyembunyikan method suatu objek dari objek lain. Attribute maupun method disembunyikan dengan cara memberikan modifier private. Method dalam kelas yang sama, yang memberikan nilai pada attribute private disebut method setter, sedangkan method masih dalam kelas yang sama, yang mengambil nilai dari attribute private disebut getter.
Metodologi Orientasi Data Data oriented methodologies Menekankan pada karakteristik dari data yang akan diproses. Dapat dikelompokkan menjadi 2 kelas yaitu : Data Flow Oriented Methodologies SADT (Structured Analysis and Design Technique) Composite Design ; Structured System Analysis & Design (SSAD) Data Structure Oriented Methodologies JSD (Jackson’s System Development) W/O (warnier / Orr)
Prescriptive Methodologies ISDOS (Information System Design and Optimization System) Kegunaan dari ISDOS adalah mengautomatisasi proses pengembangan sistem informasi. PLEXSYS Melakukan transformasi suatu statement bahasa komputer tingkat tinggi ke suatu executable code untuk suatu konfigurasi perangkat keras yang diinginkan PRIDE Merupakan suatu perangkat lunak terpadu yang baik untuk analisis/ disain sistem terstruktur, manajemen data, manajemen proyek dan pendokumentasian.
Alat Pengembangan Sistem Alat-alat Pengembangan sistem yang berbentuk grafik diantaranya : DFD, ERD, WO, Jackson UML (Unified Modelling Language ) berorientasi objek)
DFD (DATA FLOW DIAGRAM) Beda DFD Dengan UML DFD (DATA FLOW DIAGRAM) Merupakan model dari system untuk menggambarkan pembagian system ke modul yang kecil sehingga penggunanya memahami system secara logika terstruktur dan jelas. UML (UNIFIED MODELING LANGUAGE) Merupakan metode yang digunakan untuk menggambarkan sistem secara visualisasi, kontruksi dan mendokumentasi-kan suatu sistem informasi agar mudah dipahami oleh user.
DFD DATA FLOW DIAGRAM
Membuat Data Flow Diagram Contoh 1 “Lemonade Stand”
Membuat Data Flow Diagrams Contoh Operasi lemonade stand akan digunakan untuk menunjukkan pembuatan data flow diagrams. Langkah-langkah: 1. Membuat daftar aktifitas Old way: no Use-Case Diagram New way: use Use-Case Diagram Membangun DFD Level Context (identifikasi sumber dan pengguna) Membangun DFD Level 0 (mengidentifikasi sub proses yang dikelola) Construct Level 1- n DFD (mengidentifikasi alur data dan simpanan data aktual )
Membuat Data Flow Diagrams Contoh Pikirkan kegiatan yang berlangsung di stand lemonade/limun. 1. Membuat daftar aktifitas Customer Order Serve Product Collect Payment Produce Product Store Product
Membuat Data Flow Diagrams Contoh Juga pikirkan kegiatan tambahan yang diperlukan untuk mendukung kegiatan utama. 1. Membuat daftar aktifitas Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor
Membuat Data Flow Diagrams Contoh Kelompokkan kegiatan ini dalam beberapa mode logis, mungkin bidang fungsional. 1. Membuat daftar aktifitas Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor
Membuat Data Flow Diagrams Contoh Membuat diagram level context untuk mengidentifikasi sumber dan pengguna. 2. Membangun DFD Level Context (identifies sources and sink) Context Level DFD Sales Forecast Production ScheduleEMPLOYEE Pay Order 0.0 Lemonade System Customer Order Serve Product Collect Payment CUSTOMER Product Served Payment Time Worked Received Goods Payment Purchase Order Produce Product Store Product VENDOR Order Raw Materials Pay for Raw Materials Pay for Labor
Membuat Data Flow Diagrams Contoh Membuat diagram level 0 identifikasi subsistem logika yang mungkin ada. 3. Membangun DFD Level 0 (identifies manageable sub processes ) Level 0 DFD 1.0 Sale Customer Order Sales Forecast Customer Order Serve Product Collect Payment Product Ordered Payment 2.0 Production Production Schedule CUSTOMER EMPLOYEE Product Served Produce Product Store Product Inventory Received Goods 3.0 Procure- ment VENDOR Order Decisions Order Raw Materials Pay for Raw Materials Purchase Order Payment Pay Time Worked Pay for Labor 4.0 Payroll
Membuat Data Flow Diagrams Contoh Membuat level 1 dekomposisi proses dalam level 0 dan identifikasi simpanan data. Customer Order Serve Product Collect Payment 4. Membangun DFD Level 1- n (identifikasi alur data dan simpanan data) Level 1 DFD CUSTOMER Customer Order Request for Forecast ORDER 1.1 Record Order 1.3 Produce Sales Forecast Produce Product Store Product Severed Order Payment Sales Forecast 1.2 Receive Payment Order Raw Materials Pay for Raw Materials PAYMENT Pay for Labor
Membuat Data Flow Diagrams Contoh Membuat level 1 dekomposisi proses dalam level 0 dan identifikasi simpanan data. Customer Order Serve Product Collect Payment 4. Membangun Level 1 (lanjutan) Level 1 DFD Product Order ORDER 2.1 Serve Product Quantity Severed Production Schedule RAW MATERIALS Produce Product Store Product 2.2 Produce Product Quantity Used Order Raw Materials Pay for Raw Materials INVENTORTY Production Data 2.3 Store Product Quantity Produced & Location Stored Pay for Labor
Membuat Data Flow Diagrams Contoh Membuat level 1 dekomposisi proses dalam level 0 dan identifikasi simpanan data. Customer Order Serve Product Collect Payment 4. Membangun Level 1 (lanjutan) Level 1 DFD PURCHASE ORDER Order Decision 3.1 Produce Purchase Order Quantity On-Hand RAW Quantity Received MATERIALS Received Goods 3.2 Receive Items Produce Product Store Product RECEIVED ITEMS Payment Approval Order Raw Materials Pay for Raw Materials VENDOR 3.3 Pay Vendor Pay for Labor Payment
Membuat Data Flow Diagrams Contoh Membuat level 1 dekomposisi proses dalam level 0 dan identifikasi simpanan data. Customer Order Serve Product Collect Payment 4. Membangun Level 1 (lanjutan) Level 1 DFD Time Worked TIME CARDS 4.1 Record Time Worked Employee ID EMPLOYEE Payroll Request 4.2 Calculate Payroll Produce Product Store Product Unpaid time cards PAYROLL Payment Approval Order Raw Materials Pay for Raw Materials 4.3 Pay Employe e Pay for Labor PAYMENTS Payment
Produce Purchase Order Dekomposisi Proses 1.1 Record Order 1.2 Receive Payment 1.0 Sale 2.1 Serve Product 2.2 Produce Product 2.3 Store Product 2.0 Production 0.0 Lemonade System 3.1 Produce Purchase Order 3.0 Procure- ment 3.2 Receive Items 3.3 Pay Vendor 4.1 Record Time Worked 4.3 Pay Employe e 4.2 Calculate Payroll 4.0 Payroll Context Level Level 0 Level 1
DIAGRAM JACKSON
PENDAHULUAN Ada dua tipe notasi untuk menggambarkan susunan komponen‐komponen: Notasi grafik yang disebut dengan diagram Jackson, atau diagram struktur; Notasi yang non‐grafik yang disebut dengan Struktur Text atau Schematic Logic.
KOMPONEN DERET Deret mempunyai dua atau lebih bagian yang dapat terjadi secara bersamaan. Contohnya pada gambar menunjukkan diagram Jackson dan notasi struktur text untuk sebuah komponen deret A yang terdiri dari B yang diikuti dengan C, dan D. Dengan perkataan lain, B, C, dan D adalah komponen‐komponen dari A. Diagram Jackson Struktur Teks A Seq B; C; D; A End A B C D (a) (b) Penggambaran komponen deret
Komponen dari sebuah iterasi mempunyai sebuah bagian yang terjadi beberapa kali atau nol kali untuk setiap kejadian. KOMPONEN ITERASI Struktur Text A itr A itr while <kondisi > A itr until <kondisi > 𝛽; A end (i) (ii) (iii) Iteration A B* Gambaran Komponen Iterasi tanda asteris (*) di atas B menandakan bahwa komponen A mempunyai iterasi yaitu B; artinya,B dilaksanakan nol atau beberapa kali untuk setiap kejadian A secara berulang‐ulang. Notasi struktur dari komponen A diberikan dalam tiga bentuk berbeda (i)‐(iii) seperti pada gambar 2b.
KOMPONEN SELEKSI Suatu komponen seleksi mempunyai dua atau lebih bagian, dengan satu, dan hanya satu, sekali terjadi untuk setiap kejadian dari komponen seleksi. Pada gambar diberikan sebuah gambaran dari diagram dan notasi struktur text dari komponen seleksi A. A mempunyai bagian‐bagian B, C, dan D. Lingkaran dalam kotak B, C, dan D menunjukkan bahwa A adalah sebuah seleksi sedangkan B, C, dan D adalah komponen‐ komponennya. Selection A B C D o
W/O WARNIER / OR
PENDAHULUAN Metodologi pengembangan sistem ini pertama kali dikembangkan tahun 1970 oleh Jean Domique Warnier dari Paris.Kemudian dikembangkan lebih lanjut untuk desain sistem oleh Ken Orr dari Kansas Metodologi W/O menggunakan alat yang disebut dengan diagram W/O, yang secara selintas mirip dengan bagan berjenjang yang diputar.
Operator W/O
STRUKTUR DATA MENGGUNAKAN DIAGRAM W/O Prinsip kunci dari metodologi W/O adalah desain dari struktur program yang tertulis dilengkapi dengan struktur datanya. Diagram W/O dapat menggambarkan struktur data yg berbentuk : Struktur Data Urut Struktur Data Repetisi Struktur Data Seleksi
STRUKTUR DATA URUT Misalnya suatu record mahasiswa sbb : ALAMAT NPM NAMA JALAN KOTA TELEPON Maka dapat digambarkan dengan diagram W/O:
STRUKTUR DATA REPETISI Misalnya file mahasiswa terdiri dari n record, Maka dapat digambarkan dengan diagram W/O:
STRUKTUR DATA SELEKSI Dapat ditunjukkan oleh operator XOR sbb :
STRUKTUR PROSES PROGRAM MENGGUNAKAN DIAGRAM W/O 1. STRUKTUR PROSES URUT Struktur Proses Urut adalah masing ‐ masing instruksi diproses urut satu dengan yang lainnya.
STRUKTUR PROSES PROGRAM MENGGUNAKAN DIAGRAM W/O 2. STRUKTUR PROSES REPETISI Struktur Proses Repetisi adalah struktur proses yang mengulang instruksi program berulang kali.
STRUKTUR PROSES PROGRAM MENGGUNAKAN DIAGRAM W/O 3. STRUKTUR PROSES SELEKSI Struktur Proses Seleksi merupakan struktur proses yang menggunakan instruksi penyeleksian kondisi.
STRUKTUR PROSES PROGRAM MENGGUNAKAN DIAGRAM W/O 4. STRUKTUR PROSES REKURSI Struktur Proses Rekursi adalah suatu proses dari suatu fungsi atau prosedur yang memanggil dirinya sendiri. Digambarkan dengan kurung kurawal (brace) yang terputus ‐ putus.